Python从入门到实践之条件判断|第4天
User:你好我是森林
Date:2018-03-17
Mark:《Python从入门到实践》
条件判断
认识条件判断
在日常开发中需要用到如果怎么样就怎么样,否则就怎么样的逻辑。主要采用if
语句来实现的。
例如:假设你有一个汽车 列表,并想将其中每辆汽车的名称打印出来。对于大多数汽车,都应以首字母大写的方式打印其 名称,但对于汽车名'bmw'
,应以全大写的方式打印。下面的代码遍历一个列表,并以首字母大 写的方式打印其中的汽车名,但对于汽车名'bmw'
,以全大写的方式打印:
cars = ['audi', 'bmw', 'subaru', 'toyota']
for car in cars:
if car == 'bmw':
print(car.upper())
else:
print(car.title())
运行结果:
Audi
BMW
Subaru
Toyota
条件测试
每条if
语句的核心都是一个值为True
或False
的表达式,这种表达式被称为条件测试。
判断是否相等
相等的语句是:==
,赋值的语句是:=
,两者需要作区分。
c = 'like'
print(c == 'Like')
运行结果:False
如果需要或略大小写可以采用将其转化为小写的方式,函数为:lower()
。其余的逻辑同理。
判断是否不相等
语句:!=
,其余的逻辑类似,不过多阐述。
比较数字
条件语句中可包含各种数学比较,如小于、小于等于、大于、大于等于。
代码示例:
>>> num = 29
>>> num < 21
False
>>> num >= 4
True
>>>
多个条件判断
多个条件判断将条件采用关键字and
连接,只有全部为true
才能满足,否则整体条件就为false
。如果是或者的关系采用关键字or
,只要满足其中的一个整体条件就为true
。如果不确定优先级(或者可读性)的问题,可以采用括号就没个单个条件括起来。
代码示例:
>>> age_0 = 22
>>> age_1 = 18
>>> age_0 >= 21 and age_1 >= 21
False
>>> age_1 = 22
>>> age_0 >= 21 and age_1 >= 21
True
>>> age_0 = 22
>>> age_1 = 18
>>> age_0 >= 21 or age_1 >= 21
True
>>> age_0 = 18
>>> age_0 >= 21 or age_1 >= 21
>>> False
采用括号的形式提高可读性和解决优先级的问题。
(age_0 >= 21) and (age_1 >= 21)
检查特定的值是否包含在列表中
要判断特定的值是否已包含在列表中,可使用关键字in
。
代码示例:
>>> requested_toppings = ['mushrooms', 'onions', 'pineapple']
>>> 'mushrooms' in requested_toppings
True
>>> 'pepperoni' in requested_toppings
False
检查特定的值是否不包含在列表中
确定特定的值未包含在列表中,可使用关键字not in
。
使用方法和上面判断是否在列表中一致。
布尔表达式
布尔表达式的结果要么为True
,要么为False
,布尔值通常用于记录条件。
if
语句
简单的if
语句
代码示例:
num = 34
if num >= 18:
print("恭喜,您已经成年")
if-else
语句
代码示例:
num = 16
if num >= 18:
print("恭喜,您已经成年")
else:
print("你好,你未成年呢")
if-elif-else
结构
num = 16
if num >= 18:
print("恭喜,您已经成年")
elif num > 15:
print("你好,还差3年就成年")
else:
print("122")
elif
可以连续多次使用,多加判断即可。同时在某些时候可以省略else
的部分。
使用if
语句处理列表
检查特殊元素
requested_toppings = ['mushrooms', 'green peppers', 'extra cheese']
for requested_topping in requested_toppings:
if requested_topping == 'green peppers':
print("Sorry, we are out of green peppers right now.")
else:
print("Adding " + requested_topping + ".")
print("\nFinished making your pizza!")
循环的时候可以进行判断,然后即可,同时还可以判断是否为空列表。