条件判断之if语句
Posted romacle
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了条件判断之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!
以上是关于条件判断之if语句的主要内容,如果未能解决你的问题,请参考以下文章