在学if之前,我们只是表示数据,有了if之后,程序可以进行逻辑运算,这个时候代码才会产生智能
有了if之后,程序就会出现分支,从而形成运算过程
程序=数据+运算分支
首先来看下if的用法有哪些?
一 if 用法
1 if...:
if 条件:
满足条件后,会执行的代码
注意: if条件后加冒号
python中,遇到冒号,下面代码行进行缩进(4个空格),表示某个代码块
比如现在有这样的一个需求,用户输入成绩,请判断是否及格?使用if语句实现
# 用户输入成绩,请判断是否及格?
score=100
if score >=60:
print("及格")
运行结果:
2 if...: else:
if else搭配使用,可以说是新手标配了,建议初学者在使用时,把else也加上,即使我们不知道如果不符合if条件应该输出什么,可以使用else:pass,什么也不输出
比如用户输入一个成绩,如果及格,则输出及格,没有其他需求时:
# 用户输入成绩,请判断是否及格?
score=59
if score >=60:
print("及格")
else:
pass
运行结果:
当有其他需求时,比如如果不及格,则一顿毒打
# 用户输入成绩,请判断是否及格?
score=59
if score >=60:
print("及格")
else:
print("一顿毒打")
运行结果:
else 不需要加任何的条件,表示如果if中的条件不满足,都执行else当中的代码
else一定要加吗?不一定,当没有告诉你else需要做什么时,可以省略else,表示什么都不做
初学阶段,为了减少bug,建议 if else一起使用,不知道干什么时,可以使用pass,写多了 else里面经常是pass
3 if...: elif...: else:
标准的if表达式,python会从第一个条件进行判断,直到满足条件的那个分支符合要求,就会走下面的子代码块, 在一个if表达式当中,不会执行一个以上的分支
score=88
if score ==100:
print("得到一个奖励")
elif 70<=score <=100:
print("真棒")
elif 60<=score<70:
print("及格")
else:
print("挨揍")
运行结果:
学习了if的用法之后,那我们会对if条件里面的条件有所疑惑了,到底什么样的条件才能符合if用法呢?才能用做if的条件呢?接下来我们来看下条件判断。
二 条件判断
1 返回True/False
条件满足返回True或者False的,都可以作为条件,得到True ,就表示该if分支满足 ,如果得到的是False,则不满足
- 比较运算 :== , != , = , >= , <=
- 成员运算 :in ,not in
- 逻辑运算:and or not
2 if a/if not a
a="胖困困" 根本得到的不是一个True/False
a变量是否为空,字符串,列表,字典是否为空,如果为空,就是False,如果不为空,就是True
bool("") bool([]),bool({}),都是False
name="胖困困"
if name:
print("姓名:胖困困")
运行结果:
如果要判断一个数字是否等于0,使用==符号进行判断
# 如果要判断一个数字是否等于0,使用==符号进行判断
a=0
if a==0:
print("为0")
运行结果:
空列表判断:
- a==[]
- if not a: 最常用
- len(a)
a=[]
if a==[]:
print("空列表")
if not a:
print("可以表示空列表")
if len(a)==0:
print("空")
运行结果:
如何判断空列表,空字典,空字符串,空元组?
# 判断空列表
list=[]
if not list:
print("这是空列表")
# 判读不为空
if list:
print("列表不空")
# 判断空字典
dict={}
if not dict:
print("这是空字典")
if dict:
print("字典不空")
# 判断空字符串
str=""
if not str:
print("这是空字符串")
if str:
print("字符串不空")
# 判断空元祖
tuple=()
if not tuple:
print("这是空元组")
if tuple:
print("元组不空")
运行结果:
在空列表判断的python代码中,我们看到使用了if...if...这样的表达式,两个if表达式,独立进行判断,可能写上else:pass会更容易理解
name="困困"
if name=="困困":
print("是困困啊")
else:
pass
if name!="kunkun":
print("kunkun不是困困")
else:
pass
运行结果:
三 扩展
if条件可以嵌套,当满足一个if条件之后,程序会在该分支下继续往下走,如果同时满足该分支下的if条件,会相继输出满足条件的结果,如下面的例子:
# if嵌套
score=100
name="kunkun"
age=1
if score ==100:
print("奖励")
if name=="kunkun":
print("double 奖励")
if age<=1:
print("YYDS")
else:
print("我想静静")
运行结果:
码字不易,且行且珍惜,欢迎指正o.o