每条if 语句的核心都是一个值为True 或False 的表达式,这种表达式被称为条件测试。
Python根据条件测试的值为True 还是False 来决定是否执行if 语句中的代码。如果 条件测试的值为True ,Python就执行紧跟在if 语句后面的代码;如果为False ,Python就忽略这些代码。
注意:Python中检查是否相等时区分大小写,避免不必要的报错
eg:检测是否相等:
>>> car = 'bmw'
>>> car == 'bmw'
True
要检查是否两个条件都为True ,可使用关键字and 将两个条件测试合而为一;如果每个测试都通过了,整个表达式就为True ;如果至少有一个测试没有通过,整个表达式就 为False 。
方法一:使用and
(age_0 >= 21) and (age_1 >= 21)
方法二:使用or
>>> age_0 = 22
>>> age_1 = 18
>>> age_0 >= 21 or age_1 >= 21
True
>>> age_0 = 18
>>> age_0 >= 21 or age_1 >= 21
False
要判断特定的值是否已包含在列表中,可使用关键字 “in“” 。
要判断特定的值是否已不包含在列表中,可使用关键字 “not in“” 。
#包含:
>>> requested_toppings = ['mushrooms', 'onions', 'pineapple']
>>> 'mushrooms' in requested_toppings
True
>>> 'pepperoni' in requested_toppings
False
#不包含:
>>> if aplle not in requested_toppings:
>>> print("not in")
语布尔表达式:是条件测试的别名。
1 条件测试 :编写一系列条件测试;将每个测试以及你对其结果的预测和实际结果都打印出来。你编写的代码应类似于下面这样:
car = 'subaru'
print("Is car == 'subaru'? I predict True.")
print(car == 'subaru')
print("\nIs car == 'audi'? I predict False.")
print(car == 'audi')
car = 'subaru'
if 'biyadi' in car:
print('牛B')
print("少侠仍需努力")
if-else 语句块类似于简单的if 语句,
但 其中的else 语句让你能够指定条件测试未通过时要执行的操作
if 条件:
语句一
else:
语句二
Python并不要求if-elif 结构后面必须有else 代码块。
else语句可省略
if 条件:
语句一
elif 条件二:
语句二
. . . ( 可继续添加elif语句 )
else:
语句三
3 外星人颜色#1 :假设在游戏中刚射杀了一个外星人,请创建一个名为alien_color 的变量,并将其设置为’green’ 、’yellow’ 或’red’ 。
alien_color = input("请输入alien的颜色:(green/yellow/red)")
if alien_color == 'green':
print("codis+5分")
else:
print("少侠还需努力")
5 外星人颜色#3 :将练习5-4中的if-else 结构改为if-elif-else 结构。
alien_color = input("请输入alien的颜色:(green/yellow/red)")
if alien_color == 'green':
print("codis+5分")
elif alien_color == 'yellow':
print("codis+10分")
elif alien_color == 'red':
print("codis+15分")
else:
print("少侠还需努力")
6 人生的不同阶段 人生的不同阶段 :设置变量age 的值,再编写一个if-elif-else 结构,根据age 的值判断处于人生的哪个阶段。
- 如果一个人的年龄小于2岁,就打印一条消息,指出他是婴儿。
- 如果一个人的年龄为2(含)~4岁,就打印一条消息,指出他正蹒跚学步。
- 如果一个人的年龄为4(含)~13岁,就打印一条消息,指出他是儿童。
- 如果一个人的年龄为13(含)~20岁,就打印一条消息,指出他是青少年。
- 如果一个人的年龄为20(含)~65岁,就打印一条消息,指出他是成年人。
- 如果一个人的年龄超过65(含)岁,就打印一条消息,指出他是老年人。
age = input("请输入年龄:")
age = int(age)
if age < 0:
print("是不是傻,哪有年龄逆生长的")
elif age < 2:
print("是婴儿。 ")
elif age < 4:
print("正蹒跚学步")
elif age < 13:
print("是儿童。 ")
elif age < 20:
print("他是青少年。 ")
elif age < 65:
print("是成年人。 ")
else:
print("是老年人")