第三章 流程控制、阶段小结与练习(二) 2020-04-18

第二课 深入if分支


1、if条件的类型


if条件可以是任意类型,除了False本身之外,各种代表“空”的None、空字符串、空元组、空列表、空字典,都会被当成False处理,以下各值都会被当成False:


False、None、0、””、()、[]、{}


s = ‘fkjava’

if s:

         print(‘s不是空’)


# 所有代表空的值,如False、None、0、””、()、[]、{},都会被当成False处理

s2 =‘’

if s2:

         print(‘s2不是空’)


2、if语句的逻辑错误:else本身就是条件


表面上看,else后没有任何条件,或者elif后只有一个条件——但这不是真相:因为els的含义是“否则”——else本身就是一个条件!


这也是把 if、else 后代码块统称为条件执行体的原因,else的隐含条件是对前面条件取反。

当程序使用if elif时候,务必要先处理范围小的条件!

如果你先处理范围大的条件,你的程序就可能引发逻辑错误


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(“优秀”)

# 以上程序逻辑错误


3、if表达式


if 分支语句还可作为表达式,此时 if 表达式相当于代替其他语言中的三目运算符。


age = int(input(“请输出您的年龄:”))

 

print(‘您的年龄大于25’) if age > 25 else (print(‘您的年龄小于25’)) if age < 25 else print(‘您的年龄等于25’)


4、pass 语句


pass语句就是空语句。


有时候程序需要占一个位、放一条语句,但又不希望这条语句做任何事情,此时就可通过pass语句来实现了。


通过使用pass语句,可以让程序更完整。


age = int(input(“请输出您的年龄:”))


if age > 25:

         # pass是一个空语句,啥也不干

         pass



上一篇文章 第三章 流程控制、阶段小结与练习(一) 2020-04-17 地址:

https://www.jianshu.com/p/2158bb8c79b8

下一篇文章 第三章 流程控制、阶段小结与练习(三) 2020-04-19 地址:

https://www.jianshu.com/p/7a1fef169b08



以上资料内容来源网络,仅供学习交流,侵删请私信我,谢谢。

你可能感兴趣的:(第三章 流程控制、阶段小结与练习(二) 2020-04-18)