【从零学习python 】10.Python条件语句和if嵌套详解

简介: 【从零学习python 】10.Python条件语句和if嵌套详解

elif

如果有这样一种情况:当条件A满足时做事情1;当条件A不满足、条件B满足时做事情2;当条件B不满足、条件C满足时做事情3,那该怎么实现呢?

使用 elif

一、 elif的功能

elif的使用格式如下:

if xxx1:
    事情1
elif xxx2:
    事情2
elif xxx3:
    事情3

说明:

  • 当xxx1满足时,执行事情1,然后整个if结束
  • 当xxx1不满足时,那么判断xxx2,如果xxx2满足,则执行事情2,然后整个if结束
  • 当xxx1不满足时,xxx2也不满足,如果xxx3满足,则执行事情3,然后整个if结束

demo:

score = 77
if score>=90 and score<=100:
    print('本次考试,等级为A')
elif score>=80 and score<90:
    print('本次考试,等级为B')
elif score>=70 and score<80:
    print('本次考试,等级为C')
elif score>=60 and score<70:
    print('本次考试,等级为D')
elif score>=0 and score<60:
    print('本次考试,等级为E')

二、注意点

可以和else一起使用

if 性别为男性:
   输出男性的体重
   ...
elif 性别为女性:
   输出女性的体重
   ...
else:
   第三种性别的体重
   ...

说明:

  • 当 “性别为男性” 满足时,执行 “输出男性的体重”的相关代码
  • 当 “性别为男性” 不满足时,如果 “性别为女性”满足,则执行 “输出女性的体重”的相关代码
  • 当 “性别为男性” 不满足,“性别为女性”也不满足,那么久默认执行else后面的代码,即 “第三种性别的体重”相关代码
  • elif必须和if一起使用,否则出错 else 一般用在最后,即所有条件都不满足时使用

if嵌套

通过学习if的基本用法,已经知道了

  • 当需要满足条件去做事情的这种情况需要使用if
  • 当满足条件时做事情A,不满足条件做事情B的这种情况使用if-else

想一想:

  • 坐火车或者地铁的实际情况是:先进行安检如果安检通过才会判断是否有车票,或者是先检查是否有车票之后才会进行安检,即实际的情况某个判断是再另外一个判断成立的基础上进行的,这样的情况该怎样解决呢?

答:

if嵌套

一、if嵌套的格式

if 条件1:
        满足条件1 做的事情1
        满足条件1 做的事情2
        if 条件2:
            满足条件2 做的事情1
            满足条件2 做的事情2

说明

  • 外层的if判断,也可以是if-else
  • 内层的if判断,也可以是if-else
  • 根据实际开发的情况,进行选择

二、if嵌套的应用

demo:

ticket = 1     # 用1代表有车票,0代表没有车票
knife_length = 9     # 刀子的长度,单位为cm
if ticket == 1:
    print("有车票,可以进站")
    if knife_length < 10:
        print("通过安检")
        print("终于可以见到Ta了,美滋滋~~~")
    else:
        print("没有通过安检")
        print("刀子的长度超过规定,等待警察处理...")
else:
    print("没有车票,不能进站")
    print("亲爱的,那就下次见了")

结果1:ticket = 1;knife_length = 9

有车票,可以进站
通过安检
终于可以见到Ta了,美滋滋~~~

结果2:ticket = 1;knife_length = 20

有车票,可以进站
没有通过安检
刀子的长度超过规定,等待警察处理...

结果3:ticket = 0;knife_length = 9

没有车票,不能进站
亲爱的,那就下次见了

结果4:ticket = 0;knife_length = 20

没有车票,不能进站
亲爱的,那就下次见了

为什么结果3和结果4相同???

猜拳游戏

运行效果:

参考代码:

import random
player = input('请输入:剪刀(0)  石头(1)  布(2):')
player = int(player)
# 产生随机整数:0、1、2 中的某一个
computer = random.randint(0,2)
# 用来进行测试
#print('player=%d,computer=%d',(player,computer))
if ((player == 0) and (computer == 2)) or ((player ==1) and (computer == 0)) or ((player == 2) and (computer == 1)):
    print('获胜,哈哈,你太厉害了')
elif player == computer:
    print('平局,要不再来一局')
else:
    print('输了,不要走,洗洗手接着来,决战到天亮')

if补充内容

一、区间比较:

在Python中允许类似于 5<a<10 的写法,这种写法在很多编程语言里都是不允许的,需要使用逻辑与运算符进行连接。

a = 10
1<a<20  # True
11<a<20  # False

二、三元运算符:

格式: 变量 = 值1 if 条件 else 值2 当条件成立时把 值1 赋值给变量,条件不成立时把 值2 赋值给变量,其实就是对if…else 语句的一种简写。

示例:

a = 10
b = 30
if a > b:
    c = a
else:
    c = b
print('a和b两个数的较大值是%d'%c)

以上的 if…else 代码可以简写成以下格式:

a = 10
b = 30
c = a if a>b else b
print('a和b两个数的较大值是%d'%c)

三、自动类型转换

if 语句需要一个判断条件,这个判断条件的结果需要一个布尔值。如果此时输入的判断条件不是一个布尔值,在代码执行的过程中,会将这个值自动转换成为一个布尔值。

if 1<2: # if语句的判断条件需要一个布尔值
    print('1小于2')
if "hello": # if 判断条件后没有传入布尔值,会自动把它转换成为布尔值
    print("这段代码是否会输出呢?")

提示:在Python中,转换成为布尔值时,只有 0,“”,‘’,None,(),{},[] 会被转换成为False,其他都会被转换成为True

相关文章
|
1天前
|
存储 算法 API
【01】整体试验思路,如何在有UID的情况下获得用户手机号信息,python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡
【01】整体试验思路,如何在有UID的情况下获得用户手机号信息,python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡
109 82
|
2天前
|
Python
python pandas学习(一)
该代码段展示了四个主要操作:1) 删除指定列名,如商品id;2) 使用正则表达式模糊匹配并删除列,例如匹配订单商品名称1的列;3) 将毫秒级时间戳转换为带有时区调整的日期时间格式,并增加8小时以适应本地时区;4) 将列表转换为DataFrame后保存为Excel文件,文件路径和名称根据变量拼接而成。
16 3
|
2月前
|
Python 容器
Python学习的自我理解和想法(9)
这是我在B站跟随千锋教育学习Python的第9天,主要学习了赋值、浅拷贝和深拷贝的概念及其底层逻辑。由于开学时间紧张,内容较为简略,但希望能帮助理解这些重要概念。赋值是创建引用,浅拷贝创建新容器但元素仍引用原对象,深拷贝则创建完全独立的新对象。希望对大家有所帮助,欢迎讨论。
|
2月前
|
Python
Python学习的自我理解和想法(10)
这是我在千锋教育B站课程学习Python的第10天笔记,主要学习了函数的相关知识。内容包括函数的定义、组成、命名、参数分类(必须参数、关键字参数、默认参数、不定长参数)及调用注意事项。由于开学时间有限,记录较为简略,望谅解。通过学习,我理解了函数可以封装常用功能,简化代码并便于维护。若有不当之处,欢迎指正。
|
1月前
|
数据可视化 数据挖掘 大数据
1.1 学习Python操作Excel的必要性
学习Python操作Excel在当今数据驱动的商业环境中至关重要。Python能处理大规模数据集,突破Excel行数限制;提供丰富的库实现复杂数据分析和自动化任务,显著提高效率。掌握这项技能不仅能提升个人能力,还能为企业带来价值,减少人为错误,提高决策效率。推荐从基础语法、Excel操作库开始学习,逐步进阶到数据可视化和自动化报表系统。通过实际项目巩固知识,关注新技术,为职业发展奠定坚实基础。
|
2月前
|
Python
Python学习的自我理解和想法(7)
学的是b站的课程(千锋教育),跟老师写程序,不是自创的代码! 今天是学Python的第七天,学的内容是集合。开学了,时间不多,写得不多,见谅。
|
2月前
|
存储 安全 索引
Python学习的自我理解和想法(8)
这是我在B站千锋教育学习Python的第8天,主要内容是元组。元组是一种不可变的序列数据类型,用于存储一组有序的元素。本文介绍了元组的基本操作,包括创建、访问、合并、切片、遍历等,并总结了元组的主要特点,如不可变性、有序性和可作为字典的键。由于开学时间紧张,内容较为简略,望见谅。
|
Python
Python基础 if 判断语句详解
Python if 判断语句详解
177 1
Python基础 if 判断语句详解
Python 条件控制 — if语句
生活中的判断几乎是无所不在的,我们每天都在做各种各样的选择,如果这样?如果那样?……
|
Python
Python中的if 语句_2
Python中的if 语句_2自制脑图
76 0
Python中的if 语句_2

热门文章

最新文章