第五章——if语句
if语句检查程序当前状态,从而决定采取相应的措施。
5.1示例
cars=['audi','bmw','subaru','toyota']
for car in cars:
if car == 'bmw':
print(car.upper())
else:
print(car.title())
5.2条件测试——表达式
每条if语句就是一个值为Ture或False的表达式,这种表达式被称为条件测试。
如果条件测试结果为TRUE,Python就执行if语句后的代码;如果为FALSE,则忽略这些代码。
1.检查是否相等
’=‘ 为赋值运算符,是陈述;’==‘ 为相等运算符,是发问,是条件测试,比较判断结果为TUR或FALSE
car = 'bmw'
print(car == 'bmw')
运行结果为 ‘True’
2.检查是否相等时考虑大小写
Python在检查是否相等时区分大小写。
如果不考虑大小写,可以使用lower()函数将其转化为小写再进行比较。
这个条件测试不影响存储再变量car中的值
car = 'Audi'
car.lower() == 'audi'
3.检查是否不相等——!=
4.比较数字
==、!=、><、<=、>=
5.检查多个条件——使用关键字and和or
6.检查特定值是否在列表中——in 和 not in
7.布尔表达式【条件测试】
练习5-1
car = 'subaru'
if car == 'subaru':
print("IS car == 'subaru'?I predict True")
print(car == 'subaru') #运行结果为True
print("\nIS car == 'audi'?I predict False")
print(car == 'audi') # 运行结果为False
name = 'Anny'
print(name == 'Anny')
print(name != 'Anny')
print(name.lower() == 'anny')
print('\n')
age = 21
print(age < 20)
print(age == 21)
day = 27
print(age < 22 and day >20)
print(age >20 or day <20)
likes = ['ice','meat','drink']
food='apple'
if food in likes:
print('Yes')
else:print('No')
5.3 if 语句
if 条件测试:
执行语句
练习
alien_color='red'
if alien_color == 'green':
print('You got 5 point')
elif alien_color == 'yellow':
print('You got 10 point')
elif alien_color == 'red':
print('You got 15 point')
age = 21
if age < 2:
print('baby')
elif age < 4:
print('walking')
elif age < 13:
print('儿童')
elif age <20:
print('青少年')
elif age <65:
print('成年人')
elif age >=65:
print('老年人')
5.4 在for循环前确认列表是否为空
1.在if 语句中将列表名用在条件表达式中,Python将在列表至少包含一个元素时返回TRUE,在列表为空时返回FALSE。
toppings = []
if toppings:
for topping in toppings:
print(topping)
else:
print('空')
2.使用多个列表
available_toppings = ['mushroom','olives','green peppers','pepperoni']
requested_toppings = ['mushrooms','green peppers','extra cheese']
for requested_topping in requested_toppings:
if requested_topping in available_toppings:
print(requested_topping+"OK")
else:
print(requested_topping+"NO")
print('all')
3.练习
names = ['Anny','Lucy','admin','jack','amy']
if names:
for name in names:
if name == 'admin':
print("hello admin,would you like to see a status report?")
else:
print('hello '+name+',thank you for logging in again')
else:
print("We need to find some users!")
used_names = [name.lower() for name in names]
new_users = ['Anny','eric']
users = [new_user.lower() for new_user in new_users]
for user in users:
if user in used_names:
print(user+"已被使用")
else:
print(user+"可以使用")
列表解析将名字变为小写进行比较
numbers = [1,2,3,4,5,6,7,8,9]
for number in numbers:
if number == 1:
print('1st')
elif number == 2:
print('2nd')
elif number == 3:
print('3rd')
else:
print(str(number)+'th')
将数字转化为字符串,使用函数str()