欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python编程学习 if判断语句

程序员文章站 2022-04-02 11:11:15
4.5元组元组的标识是逗号,圆括号只是让了元组看起来更整洁、更清晰。如果你要定义只包含一个元素的元组,必须在元素后面加上逗号。python将不能修改的值称为不可变的,而不可变的列表称为元组。dimensions = (200,50)print(dimensions)和dimensions = 200,50print(dimensions)一样my_t = (3,)#一个值的元组,逗号代表了这是个元组4.5.2遍历元组中的所有值使用for循环遍历dimensions = (200,...

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:条件测试
python编程学习 if判断语句
练习5-2:更多条件测试
python编程学习 if判断语句
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:外星人的颜色
python编程学习 if判断语句
练习5-4:外星人颜色2
python编程学习 if判断语句
练习5-5:外星人颜色3
python编程学习 if判断语句
练习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:检查用户名
python编程学习 if判断语句
练习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