Python5.3 if 语句

理解条件测试后就可以编写If语句了。If语句有很多种,选择使用哪种取决于要测试的条件数。

5.3.1 简单的if语句

最简单的 if 语句只有一个测试和一个操作:

if conditional_test:
   do something

 第一行可包含任何条件测试,儿在紧跟在测试后面的缩进代码块中,可执行任何操作。如果条件测试的结果为True,py就会执行紧跟在后面的代码,否则py将忽略这些代码。

假设有一个表示某人年龄的变量,而你想知道这个人是否符合投票的年龄,可以使用如下代码:

age = 19
if age>=18:
   print("you are old enough to vote!")
   print("Have you registered to vote yet?")

输出:you are old enough to vote!
          Have you registered to vote yet?

5.3.2 if-else语句

我们经常需要在条件测试通过时执行一个操作,在没有通过时执行另一个操作。好困呀

此时可以使用 if-else语句

例如在一个人符合投票年龄时显示与全面相同的消息,在不符合时显示一条新消息;

age = 17
if age>=18:
   print(" You are old enough to vote!")
   print("Have you registered to vote yet?")
else:
   print("sorry,you are too young to vote.")
   print("Please register to vote as soon as you turn 18!")

如果age>=18,d第一处条件测试通过了,就执行第一组缩进的函数调用print().如果测试结果为FALSE,就执行后面的else代码块.

输出:sorry,you are too young to vote.
           Please register to vote as soon as you turn 18!

5.3.3 if-elif-else结构

我们经常需要检查超过2个的情形,为此可使用py提供的if-elif-else结构。PY只执行if-elif-else结构中的一个代码块。他依次检查每个条件测试,直到遇到通过了的条件测试。条件通过后py将执行紧跟在他后面的代码,并跳过余下的测试.

在现实世界中,很多情况下需要考虑的情形超过2个。例如,来看一个根据年龄段收费的游乐场;

1.4岁一下免费;

2.4-18岁收费25元;

3.18岁(含)以上收费40美元。

如果只使用一条 if 语句:

age=12
if age<4:
   print("Your admission cost in 0.")
elif age<18:
   print("Your admission cost in 25.")
else:
   print("Your admission cost in 40.")

 输出:Your admission cost in 25.

为了让代码更整洁,可不在if-elif-else代码块中打印门票的价格,而只在其中设置门票价格,并在它后面添加一个简单的函数调用print():

age=12
if age<4:
   price=0
elif age<18:
  price=25
else:
  price=40
print("Your admission cost is{price}.")

5.3.4使用多个elif代码块

   可根据需要使用任意数量的elif代码块。

5.3.5省略else的代码块

python并不要求if-elif结构后面必须else有代码块。else 是一条包罗万象的语句,只要不满足任何 if 或 elif 中的条件测试,其中的代码就会执行。这可能引人无效甚至恶意的数据。如果知道最终要测试的条件,应考虑使用一个 elif 代码块来代替 else 代码块。这样就可以肯定,仅当满足相应的条件时,代码才会执行。

5.3.6 测试多个条件

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

   就一直用 if 语句,不用elif 或 else 语句。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值