【Python基础】if语句-条件测试&列表
- 2020 年 1 月 2 日
- 筆記
本文标识 : P00014
本文编辑 : swagw 编程工具 : Python 阅读时长 : 4分钟
前言
在上一条推送中,我们介绍了每条if语句的核心都是一个值为True或False的表达式,这种表达式被称为条件测试。
但有时你可能想同时检查多个条件,有时要在两个条件都为True时才执行相应操作,有时只要求一个条件为True时就执行相应的操作,在这些情况下,关键字and和or可助你一臂之力。
同时我们在本篇中会介绍使用if语句处理列表从而实现对特殊元素的检查。
检查多个条件
使用and检查多个条件
要检查是否两个条件都为true,可使用关键字and将两个条件测试合二为一;如果每个测试都通过了,整个表达式就为true;如果至少有一个测试没有通过,整个表达式就为false。
num = 9 if num >= 0 and num <= 10: # 判断值是否在0~10之间 print('hello')
输出结果:
hello
我们可以通过改变num的取值来查看下方的代码运行情况
使用or检查多个条件
在多个条件中,只要至少有一个条件满足,就能够通过整个测试,仅当所有的测试都没有通过时,使用or的表达式才为false。
num = 9 if num < 0 or num > 10: # 判断值是否在小于0或大于10 print('hello') else: print('undefine') # 输出结果: undefine
输出结果:
undefine
如果我们改变num的取值为-1,输出会为'hello';
num取12时,输出也是'hello'
结合and 与 or
num = 14 # 判断值是否在0~5或者10~15之间 if (num >= 0 and num <= 5) or (num >= 10 and num <= 15): print('hello') else: print('undefine')
输出结果:
hello
用if处理列表
有时候,执行操作前必须检查列表是否包含特定的值
要判断特定的值是否包含在列表中,可使用关键字in和not in
name_lists = ['kobe','lebron','magic','shark'] print('kobe' in name_lists)
输出结果:
True
name_lists = ['kobe','lebron','magic','shark'] print('jason kid' in name_lists)
输出结果:
False
通过结合使用if语句和列表,可完成一些有趣的任务:对列表中特定的值做特殊处理;高效地管理不断变化的情形,让代码在各种情形下都将按预期那样运行。
实例: 在一个点餐APP中,顾客进入了一家披萨店在选择基本的披萨类型后,他会添加相应的配料,如青椒,橄榄,菠萝,洋葱等等。商家收到订单后,可以使用列表和if语句来确定能否满足顾客的要求。
下面定义了两个列表,其中第一个列表包含比萨店供应的配料,而第二个列表包含顾客点的配料。这次对于requested_toppings中的每个元素,都检查他是否是比萨店供应的配料,再决定是否在比萨中添加它:
requested_items = ['蘑菇','薯条','菠萝','橄榄','可乐'] available_items = ['蘑菇','橄榄','青椒','培根','菠萝','干酪','雪碧'] for items in requested_items: if items in available_items: print('添加: ' + items + '.') else: print('抱歉,'+ items+ '已售罄.')
输出结果:
添加: 蘑菇. 抱歉,薯条已售罄. 添加: 菠萝. 添加: 橄榄. 抱歉,可乐已售罄.