立即学习:https://edu.csdn.net/course/play/24797/282170?utm_source=blogtoedu
——深入if分支
——本节目标
1.if条件的类型 (重点)
2.if语句的逻辑错误 (重点、难点)
3.if表达式
——if条件的类型
—— if条件可以是任意类型,除了False本身之外,各种代表“空”的None、空字符串、空元组、空列表、空字典,都会被当成False处理,以下各值都会被当成False:
False、None、0、""、()、[]、{}
例如:
# coding: utf-8
####################################
# 文件名称:if条件的类型.py
# 功能描述:深入if分支
# 编写日期:2020-05-25
# 编写人员:
####################################
s = 'fkjava'
if s :
print('s不是空')
#所有代表空的值,如0、''、[]、()、{}、None都会被当成False处理
s2 = ''
if s2 :
print('s2不是空')
——if条件的逻辑错误
——表面上看,else后没有任何条件,或者elif后只有一个条件——但这不是真相:因为else的含义是“否则”——else本身就是一个条件。
——这也是把if、else后代码块统称为条件执行体的原因,else的隐含条件是对前面条件取反。
例如:
# coding: utf-8
####################################
# 文件名称:if的逻辑错误.py
# 功能描述:深入if分支
# 编写日期:2020-05-25
# 编写人员:
####################################
score = int(input("请输入你的成绩:"))
if score > 60:
print("及格")
# else有个隐藏条件,它是对前面条件取反,score <= 60 and score > 70
elif score > 70:
print("中等")
elif score > 80:
print("良好")
elif score > 90:
print("优秀")
正确的程序代码如下:
# coding: utf-8
####################################
# 文件名称:if正确的逻辑.py
# 功能描述:深入if分支
# 编写日期:2020-05-25
# 编写人员:
####################################
score = int(input("请输入您的成绩:"))
if score > 90:
print("优秀")
print("发奖金")
# 结合else的隐藏条件之后,实际的条件为:80 < score <= 90
elif score > 80:
print("良好")
print("发奖状")
# 结合else的隐藏条件之后,实际的条件为:70 < score <= 80
elif score > 70:
print("中等")
print("还需努力")
elif score > 60:
print("刚好及格")
print("需要加把劲")
else:
print("不及格")
'''
当程序使用if elif时候,务必要先处理范围小的条件!
如果先处理范围大的条件,你的程序就会引发逻辑错误。
'''
——if表达式
if分支语句还可以作为表达式,此时if表达式相当于代替其他语言中的三目运算符。
代码示例:
# coding: utf-8
####################################
# 文件名称:if表达式.py
# 功能描述:深入if分支
# 编写日期:2020-05-25
# 编写人员:
####################################
age = int(input("请输入您的年龄:"))
print('您的年龄大于25') if age > 25 else (print('您的年龄小于25') if age < 25 else print('您的年龄等于25'))
——pass语句
——pass语句就是空语句。
——有时候程序需要占一个位、放一条语句,但又不希望这条语句做任何事情,此时就可通过pass语句来实现了。
——通过使用pass语句,可以让程序更完整。
例如:
# coding: utf-8
####################################
# 文件名称:pass.py
# 功能描述:深入if分支
# 编写日期:2020-05-25
# 编写人员:
####################################
age = int(input("请输入您的年龄:"))
if age > 25:
# pass 是一个空语句,啥也不干,就是一个占位符
pass
——本节小结
1.if条件可以是任意类型。
2.容易犯的逻辑错误:else本身就是条件。
3.if表达式。
4.pass语句。