python编程学习 if判断语句

2022-07-28,,,,

5.1一个简单示例

cars = ['audi','bmw','subaru','toyota']
for car in cars:
	if car == 'bmw':
		print(car.upper())
	else:
		print(car.title())
结果:
Audi
BMW
Subaru
Toyota
[Finished in 0.1s]

5.2条件测试
if语句的核心都是一个值为True或False的表达式,这种表达式称为条件测试。根据条件测试的值为True或False来决定是否执行if语句中的代码。如果条件测试的值为True,就执行紧跟if语句后面的代码;如何为False,就忽略这些代码。
5.2.1检查是否相等
检查是否相等使用两个等号( == )
5.2.2检查是否相等时忽略大小写
前面学习过小写函数lower()。当使用==检查是否相等我们可以使用小写函数lower()来忽略大小进行检查。
如:

>>>car = 'Audi'
>>>car.lower() == 'audi'#使用.lower()忽略大小写因此返回的结果为真True;如果不使用则返回为假False
>>>True
>>>car == 'audi'
>>>False
>>>car      #前面使用.lower()函数去检查相等,并不影响变量car原来的值。
>>>'Audi'

5.2.3检查是否不相等
判断两个值是否不等,可结合使用惊叹号和等号( != ),其中的惊叹号表示

taste_pizza = '番茄味披萨'
if taste_pizza != '牛肉味披萨': # 当没有牛肉味的披萨时候告诉她我需要牛肉味的披萨。采用不相等来判断,因此返回的值味True则执行if语句的下一句。
	print('我需要牛肉味披萨')
if taste_pizza != '番茄味披萨': #这个写的是不等于番茄味披萨则打印下一句,因为返回的值是Fslse,所以就不执行if语句内的下一句了。
	print('我需要番茄味披萨')
结果:
我需要牛肉味披萨
[Finished in 0.1s]

5.2.4数值比较

age = 18
if age == 18:  #返回True打印第一句,返回False打印第二句
	print('小李今年有18岁了')
else:
	print('小李今年没有18岁了')
if age == 17:
	print('\n小李今年有18岁了')
else:
	print('\n小李今年没有18岁了')

if语句中可以使用各种数学比较,如大于、小于、大于等于、小于等于、等等。

>>> age = 18
>>> age < 21
True
>>> age<= 21
True
>>> age > 21
False
>>> age >= 21
False
>>>

5.2.5检查多个条件
使用关键字 and 或 or
and 必须全部满足。
or,或,满足1个条件

>>> age_1 = 22
>>> age_2 =18
>>> age_1 >= 21 and age_2 >=21#同时满足2个条件,因为不同时满足返回’假‘
False
>>> age_2 = 22#重新定义
>>> age_1 >= 21 and age_2 >=21#同时满足了2个条件,返回’真‘
True
>>>

or的使用

>>> age_1 = 22
>>> age_2 = 18
>>> age_1 >=21 or age_2 >=21#满足其中之一,就会返回’真‘
True

5.2.6检查特定值是否包含在列表中
使用关键字 in 。

>>> domestic_animals = ['鸡','鸭','狗']
>>>> '老王' in domestic_animals #使用关键字 in  老王不在列表内返回 ’假‘
False
>>> '鸡' in domestic_animals  #鸡在列表内,返回’真‘
True

5.2.7检查特定值是否不包含在列表中
使用关键字 not in

>>> domestic_animals = ['鸡','鸭','狗']
>>>> '老王' not in domestic_animals #老王不在列表内,所以返回’真‘
True
>>> '鸡' not in domestic_animals #鸡在列表内,所以返回’假‘
False
domestic_animals = ['鸡','鸭','狗']
老王 = '人'
if 老王 not in domestic_animals:
	print(f"老王是一个{老王}")
结果:
老王是一个人
[Finished in 0.1s]

5.2.8布尔表达式
布尔表达式是条件测试的别名,布尔表达式的结果要么是True,要么是False。
布尔值通常是用于记录条件,如游戏是否正在运行。

game_active = True
can_edit = False

练习5-1:条件测试

练习5-2:更多条件测试

5.3if语句
几种情况:
第一种:if (简单的if语句)

age = 19
if age >= 18: #条件测试通过,会执行缩进部分的全部代码
	print("您已符合投票年龄")
	print("你们是否需要进行登记")
结果:
您已符合投票年龄
你们是否需要进行登记
[Finished in 0.1s]

第二种:if-else(if-else语句)

age = 17
if age >= 18:   #if条件测试不通过,忽略if后缩进部分的代码
	print("你已符合投票年龄")
	print("你是否需要进行登记")
else:                       #前面if条件测试不通过后执行else代码块。
	print("你不符合投票年龄")
	print("请你18岁后在来参与投票")
结果:
你不符合投票年龄
请你18岁后在来参与投票
[Finished in 0.1s]

第三种:if-elif-else (if-elif-else结构)

age = 12
if age < 4:    #条件测试未通过
	print("你的门票价格为¥0元")
elif age < 18: #当if条件测试未通过,后elif才会运行
	print("你的门票价格为¥25元")
else:
	print("你的门票价格为¥40元")
结果:
你的门票价格为¥25[Finished in 0.1s]

精简写法:

age = 12
if age < 4:    #条件测试未通过
	fares = 0
elif age < 18: #当if条件测试未通过,后elif才会运行
	fares = 25
else:
	fares =40
print(f"你的门票价格是¥{fares}元")
结果:
你的门票价格是¥25[Finished in 0.1s]

第四种:if-elif-elif-elif …-else(使用多个elif代码块)

age = 12
if age < 4:    #条件测试未通过
	fares = 0
elif age < 18: #当if条件测试未通过,后elif才会运行
	fares = 25
elif age < 65: #可以使用多个elif代码块
	fares = 40
else:
	fares =20
print(f"你的门票价格是¥{fares}元")

第五种:if-elif-elif-elif …(省略else代码块)\

age = 12
if age < 4:    #条件测试未通过
	fares = 0
elif age < 18: #当if条件测试未通过,后elif才会运行
	fares = 25
elif age < 65: #可以使用多个elif代码块
	fares = 40
elif age >=65: #可以继续使用elif代码块
	fares = 20
#省略掉else代码块有时候也很有用。
print(f"你的门票价格是¥{fares}元")

第六种:if if if if if …(测试多个条件)
在需要多个条件通过的时候使用这个写法

requested_toppings = ['蘑菇','芝士']
if '蘑菇' in requested_toppings: #通过执行
	print("增加蘑菇")
if '香肠' in requested_toppings: # 没通过不执行
	print("增加香肠")
if '芝士' in requested_toppings: #通过继续执行
	print("增加芝士")
print("\n朋友谢谢你的披萨")
结果:
增加蘑菇
增加芝士

朋友谢谢你的披萨
[Finished in 0.1s]

如果只想执行一个代码块,就使用if-elif-else结构;如果要执行多个代码块,就使用一系列独立的if语句。
练习5-3:外星人的颜色

练习5-4:外星人颜色2

练习5-5:外星人颜色3

练习5-6:人生的不同阶段

age = 4
if age < 2:
	print("你是个婴儿")
elif age >= 2 and age < 4:
	print("你是个幼儿")
elif age >=4 and age < 13:
	print("你是个儿童")
elif age >= 13 and age <20:
	print("你是个青少年")
elif age >= 20 and age < 65:
	print("你是个成年人")
else:
	print("你是个老年人")
结果:
你是个儿童
[Finished in 0.1s]

练习5-7:喜欢的水果

favorite_fruits = ['香蕉','榴莲','苹果']
if '香蕉' in favorite_fruits:
	print("我这有香蕉")
if '榴莲' in favorite_fruits:
	print("我这有榴莲")
if '苹果' in favorite_fruits:
	print("我这有苹果")
if '橘子' in favorite_fruits:
	print("我这有橘子")
if '菠萝' in favorite_fruits:
	print("我这有菠萝")
结果:
我这有香蕉
我这有榴莲
我这有苹果
[Finished in 0.1s]

5.4使用if语句处理列表
5.4.1检查特殊元素
使用for循环,并在for循环内使用条件判断if。

requested_toppings = ['蘑菇','青椒','芝士']
for requested_topping in requested_toppings:
	if requested_topping == '青椒':  #对于列表来说,if判断有青椒了执行if后缩进
		print("对不起,我们的青椒用完了")
	else:           #对于列表来说,前面if判断蘑菇、芝士都为False因此执行else后缩进
		print(f"添加{requested_topping}")
print("哥们你的披萨制作完成,慢用")
结果:
添加蘑菇
对不起,我们的青椒用完了
添加芝士
哥们你的披萨制作完成,慢用
[Finished in 0.1s]

5.4.2确定列表不是空的
假设给个空列表,if 列表变量可以直接来判断,返回布尔值True 或False

#空列表情况
requested_toppings = []
if requested_toppings: #判断列表中没有元素,返回False,因此不执行if后缩进,直接跳转else后缩进执行
	for requested_topping in requested_toppings:
		print(f"添加{requested_topping}")
	print("\n你的披萨制作完成")
else:
	print("哥们你确定需要原味的披萨吗")
结果:
哥们你确定需要原味的披萨吗
[Finished in 0.1s]

5.4.3使用多个列表

available_toppings = ['蘑菇','橄榄油','青椒','辣肠','凤梨','芝士'] #披萨店有的配料
#客人点的配料,其中炸薯条不在披萨店配料中,因此在遍历客人的列表时候炸薯条执行else后的缩进
requested_toppings = ['蘑菇','炸薯条','芝士'] 
for requested_topping in requested_toppings:
	if requested_topping in available_toppings:
		print(f"添加{requested_topping}")
	else:
		print(f"对不起,我们这里没有{requested_topping}")
print("你的披萨制作完成")
结果:
添加蘑菇
对不起,我们这里没有炸薯条
添加芝士
你的披萨制作完成
[Finished in 0.1s]

练习5-8:以特殊方式跟管理员打招呼

groups = ['admin','用户1','用户2','用户3','用户4']
for group in groups:
	if group == 'admin':
		print(f"{group}你是超级管理员")
	else:
		print(f"{group}你是普通管理员")
结果:
admin你是超级管理员
用户1你是普通管理员
用户2你是普通管理员
用户3你是普通管理员
用户4你是普通管理员
[Finished in 0.1s]

练习5-9:处理没有用户的情形

groups = ['admin','用户1','用户2','用户3','用户4']
for group in groups:
	if group == 'admin':
		print(f"{group}你是超级管理员")
	else:
		print(f"{group}你是普通管理员")
if groups:
	print("列表中有管理员")
print("删除所有管理员")
del groups[0:]  #删除列表中所有元素
print(f"确认管理员全部删除{groups}")
结果:
admin你是超级管理员
用户1你是普通管理员
用户2你是普通管理员
用户3你是普通管理员
用户4你是普通管理员
列表中有管理员
删除所有管理员
确认管理员全部删除[]
[Finished in 0.1s]

练习5-10:检查用户名

练习5-11:序数

numbers = [1,2,3,4,5,6,7,8,9]
for number in numbers:
	if number == 1:
		print(f"{number}st")
	elif number == 2:
		print(f"{number}nd")
	elif number == 3:
		print(f"{number}rd")
	else:
		print(f"{number}th")
结果:
1st
2nd
3rd
4th
5th
6th
7th
8th
9th
[Finished in 0.1s]

另:列式解析还是有点晕!

if new_user.lower() in [current_users.lower() for current_users in current_users]:

if new_user.lower() in [current_user.lower() for current_user in current_users]:

一样,有点晕

本文地址:https://blog.csdn.net/weixin_40841797/article/details/109527762

《python编程学习 if判断语句.doc》

下载本文的Word格式文档,以方便收藏与打印。