【Python基础知识】Python中的复杂if语句(下)

发布 : python培训      来源:python干货资料

2020-09-04 14:36:23

1 嵌套的条件语句

条件语句是可以嵌套的,在条件测试的值为True后,有时候需要检查其他的条件。在这种情况下,可以使用嵌套的条件语句。

嵌套的条件语句的执行流程如图所示。

需要注意的是,每多嵌套一层条件语句,就需要多一层缩进。下面是一个嵌套条件语句的示例:

  1. >>> a = 10
  2. >>> b = 5
  3. >>> c = 13
  4. >>> if a < 20:
  5. ... print(&#39;a小于20&#39;)
  6. ... if b > 3: # 增加一层缩进
  7. ... print(&#39;a小于20且b大于3&#39;)
  8. ... if c == 15: # 每多一层嵌套就要多一层缩进
  9. ... print(&#39;a小于20,b大于3且c等于15&#39;)
  10. ...
  11. a小于20
  12. a小于20且b大于3

与if同一组的elif/else要保持对应的缩进层级。例如,BMI可以用来衡量身体的肥胖指数,计算公式是体重(kg)除以身高(m)的平方,这个程序首先让用户输入身高和体重,然后计算出BMI值,最后输出结果:

  1. height = float(input(&#39;请输入您的身高(单位:米):&#39;)) # 用户输入身高
  2. weight = float(input(&#39;请输入您的体重(单位:千克):&#39;)) # 用户输入体重
  3. if height < 2.5 and weight > 25: # <1>粗略判断身高和体重是否在正常范围内
  4. bmi = weight / height ** 2 # 计算bmi值
  5. if bmi < 18.5: # <2>根据bmi值判断肥胖指数
  6. print(&#39;偏瘦&#39;)
  7. elif 18.5 <= bmi < 22.9: # <3>
  8. print(&#39;正常&#39;)
  9. else: # <4>
  10. print(&#39;偏胖&#39;)
  11. elif height >= 2.5: # <5>如果输入的身高不符合要求则给出提醒
  12. print(&#39;您输入的身高有误,请重新输入!&#39;)
  13. else: # <6>
  14. print(&#39;您输入的体重有误,请重新输入!&#39;)

建议将这个程序使用脚本模式运行。输入几组数据,测试运行结果:

  1. 请输入您的身高(单位:米):1.8
  2. 请输入您的体重(单位:千克):60
  3. 正常
  4. 请输入您的身高(单位:米):1.7
  5. 请输入您的体重(单位:千克):40
  6. 偏瘦
  7. 请输入您的身高(单位:米):3
  8. 请输入您的体重(单位:千克):66
  9. 您输入的身高有误,请重新输入!

观察以上程序可以发现, 注释中标号<1> <5> <6>是同一缩进层级,而<2> <3> < 4>是同一缩进层级。

2 if-else三目运算符

有的时候if-else语句会很简短:

  1. >>> fruit = &#39;banana&#39;
  2. >>> if fruit == &#39;banana&#39;:
  3. ... print(&#39;Yes!&#39;)
  4. ... else:
  5. ... print(&#39;No&#39;)
  6. ...
  7. Yes!

它简短到似乎不是很有必要占用这么多行,Python中的三目运算符可以更方便地完成这个任务:

  1. >>> fruit = &#39;banana&#39;
  2. >>> print(&#39;Yes&#39;) if fruit == &#39;banana&#39; else print(&#39;No&#39;)
  3. Yes

三目运算符的语法格式如下:

代码块1(如果表达式为真) if 表达式 else 代码块2(如果表达式为假)

三目运算符还可以用来根据不同条件测试,给变量赋不同的值:

  1. >>> grade = 70
  2. >>> level = &#39;及格&#39; if grade >= 60 else &#39;不及格&#39;
  3. >>> level
  4. &#39;及格&#39;

THE END  

声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

领取零基础自学IT资源

涉及方向有Java、Web前端、UI设计、软件测试、python等科目,内容包含学习路线、视频、源码等

点击申请领取资料

点击查看资料详情 

收起 


 相关推荐

问题解答专区
返回顶部