条件判断之if语句

  if语句

  每条if语句的核心都是一个值为True或False的表达式,这种表达式被称为条件测试。Python根据条件测试的值为True还是False来决定是否执行if语句中的代码。如果条件测试的值为True,Python就执行紧跟在if语句后面的代码;如果为False,就忽略这些代码。

age = 18
if age == 18:
    print ('hello world')
>>>hello world

  #如果age不等于18,将没有任何输出。在if语句中,缩进的作用与for循环中相同。如果测试通过,将执行if语句后面所有缩进的代码,否则将忽略他们。

  if-esle语句

  当条件测试通过时,执行一个操作,但是当条件测试没有通过时,执行另一个操作。可以使用if-else语句,其中的else语句能够在指定条件测试未通过时要执行的操作。

age = 18
if age == 19:
    print ('hello world')
else:
    print('hello')
>>> hello

  以上代码之所以可行,是因为只存在两种条件:age等于18或者不等于18。

  if-elif-else语句

  当需要检查超过两个条件时,应使用 if-elif-else 语句。Python只执行 if-elif-else 结构中的一个代码块,它一次检查每个条件测试,直到遇到通过了的条件测试。测试通过后,Python将执行紧跟在他后面的代码,并跳过余下的测试。

  购票系统

  • 4岁以下免费
  • 4-18岁票价10元
  • 18岁(含)以上票价20
age = 12
if age < 4:
    price = 0
elif age < 18:
    price = 10
else:
    price = 20
print('You admission cost is ' + str(price) + '.')

  使用多个 elif 代码块 

  在购票系统中再增加一个条件:65岁(含)以上的老人,即可半价(10元)

age = 12
if age < 4:
    price = 0
elif age < 18:
    price = 10
elif age < 65:
    price = 20
else:
    price = 10
print('You admission cost is ' + str(price) + '.')

  新增age<65条件,通过检查确定年龄不到65岁后,才将票价设置为20,在else中,必须将值改为10,因为仅当年龄超过65时,才会执行这个操作。

  省略else代码块

age = 12
if age < 4:
    price = 0
elif age < 18:
    price = 10
elif age < 65:
    price = 20
elif age >=65
    price = 10
print('You admission cost is ' + str(price) + '.')
    

  最后的elif代码在年龄超过65(含)时,将价格设置为10,这样修改后,每个代码都在仅通过了相应的测试时才会执行。

  else是一条包罗万象的语句,只要不满足任何if或elif中的条件测试,代码就会执行。有可能会引入无效数据。如果知道最终要的测试的条件,应考虑使用一个elif来代替else。

  测试多个条件

  if-elif-else结构仅适合用于只有一个条件满足的情况:遇到通过了的测试后,Python就跳过余下的测试。但是,有时候必须检查所有关心的条件。这种情况下,应使用一系列不包含elif和else代码的简单if语句。在可能有多个条件为True,且需要在每个条件为True时都采取相应措施。

  披萨加配料

1 requested_toppings = ['mushrooms','extra cheese']

2 if 'mushrooms' in requested_toppings:
      print ('Adding mushrooms')
3 if 'pepperoni' in requested_toppings:
     print ('Adding pepperoni')
4 if 'extra cheese' in requested_toppings:
     print ('Adding extra cheese')
5 print ('Finished making your pizza!')

  1. 创建一个列表,包含配料。

  2.检查顾客是否点了配料 'mushrooms',如果点了,就打印一条确认消息。

  3.检查顾客是否点了配料 'pepperoni',此处用的是if语句,而不是elif或else语句;因此不管前面一个测试是否通过,都将进行这个测试。

  4.检查顾客是否点了配料' extra cheese',不管前面两个测试的结果如何,都会执行这些代码。

  输出结果

>>> Adding mushrooms
>>> Adding extra cheese
>>> Finished making your pizza!

猜你喜欢

转载自www.cnblogs.com/romacle/p/10829166.html
今日推荐