【Python基础】if语句-条件测试&列表

本文标识 : 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处理列表

有时候,执行操作前必须检查列表是否包含特定的值

要判断特定的值是否包含在列表中,可使用关键字innot 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+ '已售罄.')

输出结果:

添加: 蘑菇.  抱歉,薯条已售罄.  添加: 菠萝.  添加: 橄榄.  抱歉,可乐已售罄.