5、if语句
- 条件判断
单一条件判断:>, <, >=, <=, ==, != (这些符号均可直接用于字符串比较,字符区分大小写)
混合条件判断的连接:and, or (连接的两个判别式可用圆括号括起来提高可读性,但并非必须)
判断值是否在列表中:in, not in
fs = "apple"
ss = "orange"
print("字符串比较:", fs > ss)
fn, sn, tn = 1, 2, 3
print("and的联合判断:", (fn == sn) and (sn == tn))
items = range(5)
print("判断1是否在列表中:", 1 in items)
输出:
字符串比较: False
and的联合判断: False
判断1是否在列表中: True
- if 结构
第一行可包含任何条件测试,而紧跟在测试后面的缩进代码块中,可执行任何操作。
语句结构:
if conditional test:
do somrthing
实例:
flower = "rose"
if flower == "rose":
print("I love you")
实例输出:
I love you
- if-else结构
当if中的判断条件为真时,执行if代码块中的语句,否则执行else代码块中的语句。
语句结构:
if conditional test:
do somrthing
else:
do another thing
实例:
flower = "sun flower"
if flower == "rose":
print("I love you")
else:
print("I think rose is better")
实例输出:
I think rose is better
- if-elif-else结构
当我们需要检查超过两个情形的时候,可以考虑使用if-elif-else结构。我们可以根据需要使用任意多个elif代码块,并且最后的else代码块是可省略的。
语句结构:
if conditional test:
do something
elif conditional test:
do something
...
else:
do something
实例:
age = 12
age = 12
price = 20;
if age < 4:
price = 0;
elif age < 18:
price = 25;
elif age < 65:
price = 40
else:
price = 20
print(f"你需要支付{price}元")
实例输出:
你需要支付25元
- 判断列表是否为空
直接在if的条件判断区域写上列表变量名,即可判断是否为空。
items = []
if items:
print("列表中有元素")
else:
print("列表为空")
输出:
列表为空
- 使用多个列表
即使用for循环遍历其中一个列表,然后跟另一个列表进行比较。
available_foods = ['rice', 'meet', 'tomato', 'potato']
request_foods = ['noodles', 'egg', 'tomato']
for request_food in request_foods:
if request_food in available_foods:
print(f"We have {request_food}")
else:
print(f"{request_food.title()} is not available")
输出:
Noodles is not available
Egg is not available
We have tomato