news 2026/7/27 14:51:43

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/7/27 17:32:04

还在手动巡检?用这4步自动化方案彻底升级你的Agent维护体系

第一章&#xff1a;气象观测 Agent 的设备维护在自动化气象监测系统中&#xff0c;气象观测 Agent 扮演着核心角色&#xff0c;负责采集、传输与初步处理来自各类传感器的数据。为确保其持续稳定运行&#xff0c;必须建立完善的设备维护机制。定期健康检查 气象观测 Agent 应每…

作者头像 李华
网站建设 2026/7/28 3:19:42

vue和springboot框架开发的社区流浪动物领养管理系统_65kwrn28

文章目录 具体实现截图主要技术与实现手段关于我本系统开发思路java类核心代码部分展示结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01; 具体实现截图 同行可拿货,招校园代理 vuespringboot_65kwrn28 框架开发的社区流浪动物领…

作者头像 李华
网站建设 2026/7/28 2:21:22

深入解析Ansible核心模块:自动化运维的利器

前言 在现代IT运维中&#xff0c;自动化已经成为提高效率、减少错误的关键。Ansible作为一款强大的自动化工具&#xff0c;以其简单易用、无代理架构受到广泛欢迎。而Ansible的真正魅力&#xff0c;在于其丰富的模块系统。今天&#xff0c;我们就来深入探讨Ansible模块的世界。…

作者头像 李华
网站建设 2026/7/27 18:50:07

【医疗康复Agent方案优化全攻略】:破解个性化调整难题的7大核心技术

第一章&#xff1a;医疗康复Agent方案调整的核心挑战在医疗康复领域&#xff0c;智能Agent的引入为个性化治疗和远程监护提供了全新可能。然而&#xff0c;随着临床需求的动态变化与患者个体差异的复杂性增加&#xff0c;对Agent方案进行持续调整面临多重核心挑战。数据异构性与…

作者头像 李华
网站建设 2026/7/22 18:21:21

别被C++协程的复杂性劝退,这个协程生成器项目就是你最好的入门案例

在现代软件开发中,处理大数据集、流式数据和无限序列是常见的挑战。传统的命令式编程方式往往需要将所有数据一次性加载到内存中,这不仅消耗大量内存资源,还会导致不必要的计算开销。Python 的生成器(Generator)和 yield 关键字为这类问题提供了优雅的解决方案——惰性求值…

作者头像 李华
网站建设 2026/7/27 20:25:09

(200分)- 信号发射和接收(Java JS Python)

(200分)- 信号发射和接收&#xff08;Java & JS & Python&#xff09;题目描述有一个二维的天线矩阵&#xff0c;每根天线可以向其他天线发射信号&#xff0c;也能接收其他天线的信号&#xff0c;为了简化起见&#xff0c;我们约定每根天线只能向东和向南发射信号&…

作者头像 李华