【Python7】if 条件判断

1.条件判断与缩进

1.1.计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。

条件判断执行流程图:

if后面会接一个条件表达式,如果表达式成立(即布尔值为True)时,执行下面的代码。

if下面的代码我们一般称为代码块或者语句块,代码块前面要注意添加缩进。

比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用条件判断 if语句实现:

age = 20
if age >= 18:
	print(age)
	print('是个成年人')


>>>20
是个成年人

打印出特定的值,比如,用特定格式打印出宝马车:

cars=['aodi','bmw','subaru','toyota']
for car in cars:
	if car == 'bmw':
		print(car.upper())
	else:
		print(car.title())

>>>Aodi
BMW
Subaru
Toyota

1.2.条件测试 

每条if语句的核心都是一个值为True或False的表达式,这种表达式被称为条件测试。Python根据条件测试的值为True还是False来决定是否执行if语句中的代码。

1.2.1.检查是否相等

car = 'bwm'
print(car=='bwm')

>>>True

1.2.2.检查是否相等时区分大小写

例如,两个大小写不同的值会被视为不相等:

car = 'aodi'
cars = 'Aodi'
print(car==cars)

>>>False

 可以全部转换为小写进行判断:

car = 'aodi'
cars = 'Aodi'
print(car.lower()==cars.lower())

>>>True

1.2.3.检查是否不相等

要判断两个值是否不等,可以使用 != 符号

car = 'aodi'
cars = 'Aodi'
print(car.lower()!=cars.lower())

>>>False

1.2.4.检查特定值是否不包含在列表中 

a=['a','b','c','d']
if 'f' not in a:
	print("'f' not in a")
else:
	print("'f' in a")

>>>'f' not in a

2.if的判断形式

2.1.1.if 

一个条件

2.2.2.if-else 

两个条件

2.2.3.if-elif-elif---else 

三个及以上的条件

2.2.4.测试多个条件

if-elif-else 结构功能强大,但仅适合用于只有一个条件满足的情况:遇到通过了的测试后,Python就跳过余下的测试。这种行为很好,效率很高,能让你测试一个特定的条件。

但有时我们必须检查我们关心的所有条件。

例如,在披萨程序中,顾客如果点了多种配料,就需要确保披萨中包含这些配料

requested_toppings=['mushrooms','extra cheese']
if 'mushrooms' in requested_toppings:
	print('Add mushrooms')
if 'pepperoni' in requested_toppings:
	print('Add pepperoni')
if 'extra cheese' in requested_toppings:
	print('Add extra cheese')

>>>Add mushrooms
Add extra cheese

不管前两个测试的结果如何,都会执行这些代码 ,每当这个程序运行时,都会进行这三个独立的测试。

如果像下面使用if-elif-else语句,就不能正确按照要求执行,因为有一个测试通过,就会跳过余下的测试

requested_toppings=['mushrooms','extra cheese']
if 'mushrooms' in requested_toppings:
	print('Add mushrooms')
elif 'pepperoni' in requested_toppings:
	print('Add pepperoni')
elif 'extra cheese' in requested_toppings:
	print('Add extra cheese')

>>>Add mushrooms

 总之,如果你只想执行一个代码块,就是用if-elif-else结构,如果要运行多个代码块,就使用一系列独立的if语句

2.2.5.检查特殊元素,进行合适的处理

a=[1,2,3,55,7]
for i in a:
	if i==55:
		print('这是一个超过10的数字')
	else:
		print(i)

>>>1
2
3
这是一个超过10的数字
7

2.2.6.确定列表不是空的 

a=[]
if a:
	for i in a:
		print(i)
else:
	print('列表为空')

>>>列表为空

a=[1,7,7,4,55]
if a:
	for i in a:
		print(i)
else:
	print('列表为空')

>>>1
7
7
4
55

3.布尔值和逻辑运算符

布尔值分为两种:True和False。True表示正确,False表示错误。

print(1>0)
print(1<0)

>>>True
False

逻辑运算符包括and、or、not

print(1<2 and 2>3)
print(1<2 and 2<3)
print(1<2 or 2>3)
print(1<2 or 2<3)
print(not True)
print(not (4<5))

>>>False
True
True
True
False
False
发布了57 篇原创文章 · 获赞 19 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/IGGIRing/article/details/105370111
今日推荐