400-650-7353

精品课程

您所在的位置:首页 > IT干货资料 > python > 【Python基础知识】Python中的复杂if语句(上)

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

  • 来源:
  • 2020-08-26 17:15:32
  • 阅读()
  • 分享
  • 手机端入口

1 if-else语句

if-else语句的语法格式如下:

if 表达式:

代码块1

else:

代码块2

在if-else语句中,如果表达式为真,那么执行代码块1,否则执行代码块2。

if-else语句的执行流程如图1所示。

图1 if-else语句的执行流程

假设某个教务系统要根据学生的成绩进行判断,如果成绩不低于60分,打印“及格”,否则打印“不及格”:

  1. grade = int(input('请输入学生的成绩:'))   # 首先输入学生的成绩 
  2. if grade >= 60:   # 如果成绩大于等于60分 
  3.     print('及格') 
  4. else:   # 否则,即成绩小于60分 
  5.     print('不及格') 

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

  1. 请输入学生的成绩:59 
  2. 不及格 
  3. 请输入学生的成绩:60 
  4. 及格 
  5. 请输入学生的成绩:100 
  6. 及格 

2 if-elif-else语句

if-else只能根据两种情况做出判断——要么条件成立,要么条件不成立。很多时候,需要对多种情况进行判断,此时可以使用if-elif-else语句。

if-elif-else语句的语法格式如下:

if 表达式1:

代码块1

elif 表达式2:

代码块2

elif 表达式3:

代码块3

……

else:

代码块n

if-elif-else语句的执行流程如图2所示。

图2 if-elif-else语句的执行流程

假设教务系统需要对学生的成绩进行细分,60分以下打印“不及格”,大于等于60分且小于70分打印“中等”,大于等于70分且小于90分打印“良好”,大于等于90分打印“优秀”:

  1. grade = int(input('请输入学生的成绩:')) 
  2. if grade < 60: 
  3.     print('不及格') 
  4. elif grade < 70: 
  5.     print('中等') 
  6. elif grade < 90: 
  7.     print('良好') 
  8. else: 
  9.     print('优秀') 

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

  1. 请输入学生的成绩:58 
  2. 不及格 
  3. 请输入学生的成绩:62 
  4. 中等 
  5. 请输入学生的成绩:70 
  6. 良好 
  7. 请输入学生的成绩:92   
  8. 优秀 
  9. 请输入学生的成绩:100 
  10. 优秀 

运行结果符合预期。elif是else if的缩写,指当前面的条件不成立时,判断elif后紧跟着的条件是否成立,如果成立就执行相应的代码块并跳过后面一系列的elif-else语句;如果不成立就继续判断下一个elif。

elif语句和if语句都含有条件测试语句,它们的作用究竟有什么不同呢?可以将上面的程序中所有elif都替换成if,试试看会发生什么?替换后的代码如下:

  1. grade = int(input('请输入学生的成绩:')) 
  2. if grade < 60: 
  3.     print('不及格') 
  4. if grade < 70: 
  5.     print('中等') 
  6. if grade < 90: 
  7.     print('良好') 
  8. else: 
  9.     print('优秀') 

输入几组数据,测试运行结果:

  1. 请输入学生的成绩:60 
  2. 中等 
  3. 良好 
  4. 请输入学生的成绩:55 
  5. 不及格 
  6. 中等 
  7. 良好 

运行结果显然不符合预期。这是由于这个程序中每个if语句都是相互独立的,并不会因满足了前面的条件就跳过后面的判断;而一组if-elif-else语句中只有一个“出口”,它会因满足了其中一个条件就跳过执行后面的判断。

课程好礼申请领取
您的姓名
您的电话
意向课程
 

中公优就业

官方QQ

扫描上方二维码或点击一键加群,免费领取价值599元网课,加群暗号:599。 一键加群

>>本文地址:
注:本站稿件未经许可不得转载,转载请保留出处及源文件地址。

推荐阅读

优就业:ujiuye

关注中公优就业官方微信

  • 关注微信回复关键词“大礼包”,领80G学习资料
QQ交流群
领取免费网课
(加群备注“网站”)
IT培训交流群 加入群聊 +
软件测试 加入群聊 +
全链路UI/UE设计 加入群聊 +
Python+人工智能 加入群聊 +
互联网营销 加入群聊 +
Java开发 加入群聊 +
PHP开发 加入群聊 +
VR/AR游戏开发 加入群聊 +
大前端 加入群聊 +
大数据 加入群聊 +
Linux云计算 加入群聊 +
优就业官方微信
扫码回复关键词“大礼包”
领取80G学习资料

淘宝商家短视频
预约试听
2020OAO训练营
免费试听
课程资料、活动优惠 领取通道