news 2026/6/15 4:02:23

Python基础(4):选择判断结构---if,超详细讲解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python基础(4):选择判断结构---if,超详细讲解

练习最大的收获就是先进行模仿,在发现问题,解决问题,最后掌握!

上一篇文章题目:Python基础(3):数据类型转换和Python运算符---详解

链接:https://blog.csdn.net/2501_94250394/article/details/155953193?spm=1001.2014.3001.5501


前言

今天,我们给小伙伴们介绍选择判断结构,特别是嵌套,比较考验逻辑,但是我相信小伙伴们的实力,大家跟着我的思路来一步步学习,我们来慢慢掌握。大家记得一定要练习!!!

一、作用

选择判断结构的核心是按条件 “真 / 假” 挑选执行的代码分支,Python 的if结构正是这一逻辑的简洁实现,在日常开发中,只要有需要进行条件判断的语句基本上都是选择判断结构。

二、具体结构

主要有三种结构,接下来,我们来看看它们都有哪些神通。

主要就是对于同一种事情的不同情况进行划分!!!

应用场景:比如说,我们要去网吧上网,会分为两种情况,一种是大于18岁,可以上网,反之,不能上网。

2.1 if基础结构

if基本语法:

if 条件判断: 则执行某段代码... print()

案例代码:

# 定义年龄(可以替换成实际年龄,比如19、17) age = 17 # 判断年龄是否≥18 if age >= 18: print("已满18岁,可以在网吧上网")

2.2 if...else...结构

基本语法:

if 条件判断: 当条件判断为True时,则执行这个语句段 else: 当条件判断为False时,则执行这个语句段

案例代码:

# 定义年龄(可以替换成实际年龄,比如19、17) age = 17 # 判断年龄是否≥18 if age >= 18: print("已满18岁,可以在网吧上网") else: print("未满18岁,不能在网吧上网")

if选择原理图:

2.3 if...elif...else结构

基本语法:

注意:elfi 可以根据任务情况写多个

if 条件判断1: 如果此条件为True,则执行这个语句段 elif 条件判断2: 如果此条件为True,则执行这个语句段 elif ...: ... else: 如果以上所有条件判断都不满足时,则执行这个语句段

案例代码:我们用 “根据年龄判断对应的人生阶段”*这个生活中很常见的场景,来演示if...elif...else结构:

小伙伴们,可以在代码里面加入之前我分享的input()函数,实现年龄的自动判断,记得进行数据类型转换,毕竟input()获得的内容是字符串,养成良好的习惯。

# 根据年龄划分对应的人生阶段(多条件分支场景) # 定义要判断的年龄(可修改这个值,比如改成3、10、16、65等,查看不同结果) age =int( input('请输入您的年龄:')) # 第一个条件:判断是否为婴儿(0~3岁) if 0 <= age <= 3: print(f"当前年龄{age}岁,对应的人生阶段是:婴儿") # 第二个条件:判断是否为儿童(4~12岁) elif 4 <= age <= 12: print(f"当前年龄{age}岁,对应的人生阶段是:儿童") # 第三个条件:判断是否为青少年(13~17岁) elif 13 <= age <= 17: print(f"当前年龄{age}岁,对应的人生阶段是:青少年") # 第四个条件:判断是否为成年人(18~59岁) elif 18 <= age <= 59: print(f"当前年龄{age}岁,对应的人生阶段是:成年人") # 所有条件都不满足时(即60岁及以上,对应老年人) else: print(f"当前年龄{age}岁,对应的人生阶段是:老年人")

if多重条件判断原理图:

三、嵌套结构(重点)

注意:

一方面要注意代码的缩进,可以利用Tab键进行缩进;

另一方面要注意嵌套结构里面不同判断的执行逻辑:

主要是先看外层条件,只有外层条件满足(为 True),才会去执行里面的内层判断;内层判断就是外层满足后再做的细分逻辑,它的结果只在当前外层的代码里生效,不会影响外层本身,也不会干扰其他层级的判断。记住 “外层是大前提,内层是补充判断”,就不会搞混逻辑。

基本语法:

if 外层条件判断: # 如果条件为True,则执行以下语句段 if 内层条件判断: # 如果内层条件为True,则执行以下语句段 else: # 如果条件为False,则执行以下语句段

案例代码:法律规定,车辆驾驶员的血液酒精含量小于 20mg/100ml 不构成酒驾;酒精含量大于或等于 20mg/100ml 为酒驾;酒精含量大于或等于 80mg/100ml 为醉驾。编写 Python 程序判断是否为酒后驾车。

proof = int(input('请输入驾驶员100ml血液中的酒精含量:')) # 判断proof酒精含量是否小于20mg if proof < 20: print('驾驶员不构成酒驾') else: # 已经构成酒驾 => 两种类型(酒驾与醉驾) if proof >= 80: print('驾驶员已构成醉驾') else: print('驾驶员已构成酒驾')

四、总结

4.1 小游戏制作

首先给大家分享一个可以用今天学到的内容制作的一个小游戏,可以和一起的朋友一起试试,体验一下。

猜数字游戏:

随机生成1个 1 ~ 100之间的数字, 让用户来猜.判断用户是否猜对了, 并提示. 猜对, 猜大, 猜小.

代码实现:(可以利用if...elif...else多条件分支结构制作,不局限于一种形式)

#导包,这个包可以实现随机数的生成 import random # 1. 随机生成1个 1 ~ 100之间的数字, 让用户来猜. guess_num = random.randint(1, 100) # 注意()里面的数字是左闭右开的区间 print(guess_num) # 2. 因为只给1次机会, 后续学完循环结构, 再优化. input_num = int(input('请录入您要猜的整数: ')) # 3. 判断用户是否猜对了, 并提示. 猜对, 猜大, 猜小. if input_num == guess_num: print('恭喜您, 猜对了, 请找老师领取奖品, 练习题一套!') elif input_num > guess_num: print('哎呀, 您猜大了!') else: print('哎呀, 您猜小了!')

注意:如果导入的包,无法运行,就需要安装这个包,我前面的文章详细介绍了安装包的方法,链接:https://blog.csdn.net/2501_94250394/article/details/155864021?spm=1001.2014.3001.5501

4.2 简单总结

if选择判断,一般第二种和第三种,比较常用,刚开始学习的小伙伴,可以有点看不懂嵌套的执行逻辑,可以按照案例的代码进行运行,多次尝试,看看具体的执行逻辑,看懂逻辑,记住代码格式,一般就已经成功了一半,特别要注意缩进!!!

上述内容会根据大家的评论和实际情况进行实时更新和改进。

麻烦小伙伴们动一动发财的小手,给小弟点个赞和收藏,如果能获得小伙伴的关注将是我无上的荣耀和前进的动力。

小伙伴们,我是AI大佬的小弟,希望大家喜欢!!!

晚安,小伙伴们。


下一篇文章链接:(正在更新中)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 7:33:01

为什么传统预测方法失效了?:基于Agent的动态需求预测新范式

第一章&#xff1a;为什么传统预测方法失效了&#xff1f; 在数据爆炸的时代&#xff0c;传统预测方法正面临前所未有的挑战。这些方法依赖于线性假设、平稳性前提和小规模结构化数据&#xff0c;而现实世界的数据却日益复杂、非线性和高维化。 静态模型无法适应动态环境 传统…

作者头像 李华
网站建设 2026/6/15 7:26:20

30、交互式脚本编程:键盘输入与循环控制

交互式脚本编程:键盘输入与循环控制 1. 键盘输入的读取 在计算机编程中,许多程序都需要与用户进行交互,接收用户的输入。在之前编写的脚本中,往往缺乏这种交互性。例如下面这个评估整数的脚本: #!/bin/bash # test-integer2: evaluate the value of an integer. INT=-…

作者头像 李华
网站建设 2026/6/14 20:42:17

如何实现细粒度权限管理?政务Agent授权模型深度剖析

第一章&#xff1a;政务 Agent 的权限控制在政务系统中&#xff0c;Agent 通常指代自动化服务代理或智能程序&#xff0c;负责执行数据查询、流程审批、跨系统集成等关键任务。由于其操作涉及敏感政务数据和核心业务流程&#xff0c;必须建立严格的权限控制机制&#xff0c;防止…

作者头像 李华
网站建设 2026/6/15 2:32:39

java计算机毕业设计双西小学学费收缴系统的设计与实现 双西小学学杂费在线征缴平台的设计与实现 基于Java的双西小学收费信息化系统开发

计算机毕业设计双西小学学费收缴系统的设计与实现7627j9 &#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。义务教育资金流转环节长期依赖人工登记、Excel 汇总&#xff0c;家长排队…

作者头像 李华
网站建设 2026/6/15 9:31:31

【瑞萨RA × Zephyr评测】DAC-ADC测试

&#x1f4dd; 调试笔记&#xff1a;Renesas RA 系列 DAC-ADC 闭环测试 硬件: Renesas FPB-RA6E2 (假设) SSD1306 OLED 目标: 实现 DAC 输出三角波电压&#xff0c;并通过 ADC 实时采样读取&#xff0c;在屏幕和串口同步显示&#xff0c;验证数模转换的准确性。1. 硬件连接与引…

作者头像 李华