前言
本文主要介绍控制流程中的if条件语句,包括if...;if...else...;if...elif...elif...else...;if...if...if...else...;if嵌套等。内容如下:
1、语法:
if 条件表达式 :
解释:
- if:如果,如果程序符合某种条件,就可以做什么样的事情;
- “:”在python中,遇见“:”时要缩进
- 条件表达式:用于判断,判断结果为True或者False
- 比较运算:5>3,a>b等;
- 成员运算:in/not in,如sun in sunny;
- 逻辑运算:a>b and c<d, a>b or a>c等;
- 判断结果为False的情况:数字0,空字符串,空列表,空字典等。
2、if...
输入:a的值为5,b的值为2,if判断5>2结果为True,程序执行 print(f"{a}大于{b}")
1 a = int(input("请输入a的值"))
2 b = int(input("请输入b的值"))
3 if a>b:
4 print(f"{a}大于{b}")
输出结果:
5大于2
3、if...else...
与上面的if语句有一点点的差别,多了一个else(否则)。当if条件不成立时,执行else。
输入:a的值为5,b的值为6,if判断5>6结果为False,程序执行 print(f"{a}小于{b}")
a = int(input("请输入a的值"))
b = int(input("请输入b的值"))
if a>b:
print(f"{a}大于{b}")
else:
print(f"{a}小于{b}")
输出结果:5小于6
4、完整的if表达式 if...elif...elif...elif...else...
这样的if条件语句表达式中,程序只会执行一个分支的代码,剩下的条件都不会判断。
输入a的分数为20,程序会从a<60开始判断,结果为True,执行print(f"你的分数为:{a},评价为不及格"),下面其他的分支的都不会执行;输入a的值为67,程序还是会从a<60开始判断,结果为False,然后继续判断60<=a<70这个条件是否成立,结果为True,执行print(f"你的分数为:{a},评价为D")
a = int(input("请输入你的分数"))
if a<60:
print(f"你的分数为:{a},评价为不及格")
elif 60<=a<70:
print(f"你的分数为:{a},评价为D")
elif 70<=a<80:
print(f"你的分数为:{a},评价为C")
elif 80 <= a < 90:
print(f"你的分数为:{a},评价为B")
else:
print(f"你的分数为:{a},评价为A")
5、if...if...if...else...
这种情况是多个if条件,程序会从第一个if开始判断。
输入分数a为30,则会判断a<60是否成立,成立时执行print(f"你的分数为:{a},评价为不及格"),然后判断50<=a<70是否成立...直到程序最后
a = int(input("请输入你的分数"))
if a<60:
print(f"你的分数为:{a},评价为不及格")
if 50<=a<70:
print(f"你的分数为:{a},评价为D")
if 30<=a<80:
print(f"你的分数为:{a},评价为C")
if 40 <= a < 90:
print(f"你的分数为:{a},评价为B")
else:
print(f"你的分数为:{a},评价为A")
输出结果:
请输入你的分数30
你的分数为:30,评价为不及格
你的分数为:30,评价为C
你的分数为:30,评价为A
注意:else与同级且最近的if配对,也就是说上面的例子中,a-30在判断40<=a<90这里是不成立的,然后还要判断40<=a<90范围外的情况,即0<=a<40,这是成立的,输出
if 40 <= a < 90:
print(f"你的分数为:{a},评价为B")
else:
print(f"你的分数为:{a},评价为A")
6、if嵌套
if嵌套就是说在某个条件后,继续进行细分判断,如下所示:
输入分数90
a = int(input("请输入你的分数"))
if 0<a<60:
print(f"你的分数为:{a},评价为不及格")
if 60<=a<100:
# print(f"你的分数为:{a},评价为及格")
if 60<=a<80:
print(f"你的分数为:{a},评价为及格,等级为差")
elif 80<=a<90:
print(f"你的分数为:{a},评价为及格,等级为中")
else:
print(f"你的分数为:{a},评价为及格,等级为优")
else:
print("你美哟,分数为0")
执行结果:
你的分数为:90,评价为及格,等级为优
if可以不用和else配对,也可以不和elif配对。