目录
一、条件判断
- == / !=
- and / or
- > 、<、>=、<=
- 判断是否在列表中? in
- 判断是否不在列表中? not in
- 字符串判断区分大小写,使用函数lower()
二、if语句常用格式
if age<5:
...
elif age<18:
...
else:
...
⚠️if……elif……else语句,当判断了其中一个条件成立时,不会再继续判断;
要运行多个代码块,需要使用多个if语句
cars=['audi','bmw','toyota']
if 'audi' in cars:
print('has audi')
elif 'bmw' in cars:
print('has bow')
#只执行if后的代码块
#输出:has audi
if 'audi' in cars:
print('has audi')
if 'bmw' in cars:
print('has bow')
#两个代码都执行
#输出:has audi
has bmw
三、if 语句处理列表
3.1 处理特殊元素
requested_toppings=['mushroom','green_peppers','extra_cheese']
for requested_topping in requested_toppings:
if requested_topping == 'green_peppers':
print("Sorry, we are out of peppers right now.")
else:
print("Adding " + requested_topping + ".")
print("\nFinished your pizza!")
3.2 确定列表不是空的
在 if 语句中,将列表名用作条件表达式,当列表至少含有一个元素时,返回True;当且仅当列表为空时,返回False。
requested_toppings = []
if requested_toppings:
for requested_topping in requested_toppings:
print(requested_topping)
else:
print("Are you sure you want a plain pizza?")
3.3 使用多个列表
#如果可用材料不便,可以使用元组定义
available_toppings=['mushroom','olives','green_peppers',
'pepperoni','pineapple','extra cheese']
requested_toppings=['mushroom','fresh fries','extra cheese']
for requested_topping in requested_toppings:
if requested_topping in available_toppings:
print("Adding " + requested_topping + ".")
else:
print("Sorry, we don't have " + requested_topping + ".")
print("\nFinished making your pizza!")
四、if语句的格式
- 在诸如 == >= <= 等比较运算符的左右两侧添加空格
if age > 5
#NOT
if age>5
练习
1. 检查用户名:模拟网站确保用户名是独一无二的
- 创建一个至少包含5个用户名的列表,将其命名为current_users;
- 再创建一个包含5个用户名的列表,将其命名为new_users,并确保其中有一两个在current_users中
- 遍历列表new_users,对其中的每一个用户名,都检查其是否已被使用
- 确保比较时不区分大小写,e.g. 若用户名‘John’已被使用,则‘JOHN’不可以再用
current_users = ['Jay','Gina','Jammie','Bob','John']
new_users = ['JAY','JOHN','lily','susan','kimi']
current_users_lower = []
for current_user in current_users:
current_users_lower.append(current_user.lower())
for new_user in new_users:
if new_user.lower() in current_users_lower:
print("Sorry, this name has been used.")
else:
print("This name can be used!")
2. 输出序数:除了1,2,3外,都是直接加'th'
- 在一个列表中,存储数字1~9
- 遍历这个列表
- 在循环中使用if-elif-else,以打印每个数字的序数
nums=[1,2,3,4,5,6,7,8,9]
for num in nums:
if num == 1:
print(str(num) + "st")
elif num == 2:
print(str(num) + "nd")
elif num == 3:
print(str(num) + "rd")
else:
print(str(num) + "th")