目录
1.条件判断与缩进
1.1.计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。
1.2.条件测试
1.2.1.检查是否相等
1.2.2.检查是否相等时区分大小写
1.2.3.检查是否不相等
1.2.4.检查特定值是否不包含在列表中
2.if的判断形式
2.1.1.if
2.2.2.if-else
2.2.3.if-elif-elif---else
2.2.4.测试多个条件
2.2.5.检查特殊元素,进行合适的处理
2.2.6.确定列表不是空的
3.布尔值和逻辑运算符
条件判断执行流程图:
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
每条if语句的核心都是一个值为True或False的表达式,这种表达式被称为条件测试。Python根据条件测试的值为True还是False来决定是否执行if语句中的代码。
car = 'bwm'
print(car=='bwm')
>>>True
例如,两个大小写不同的值会被视为不相等:
car = 'aodi'
cars = 'Aodi'
print(car==cars)
>>>False
可以全部转换为小写进行判断:
car = 'aodi'
cars = 'Aodi'
print(car.lower()==cars.lower())
>>>True
要判断两个值是否不等,可以使用 != 符号
car = 'aodi'
cars = 'Aodi'
print(car.lower()!=cars.lower())
>>>False
a=['a','b','c','d']
if 'f' not in a:
print("'f' not in a")
else:
print("'f' in a")
>>>'f' not in a
一个条件
两个条件
三个及以上的条件
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语句
a=[1,2,3,55,7]
for i in a:
if i==55:
print('这是一个超过10的数字')
else:
print(i)
>>>1
2
3
这是一个超过10的数字
7
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
布尔值分为两种: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