数据分析笔记09:Python条件语循环 - 实践

news/2026/1/23 16:08:13/文章来源:https://www.cnblogs.com/yangykaifa/p/19522837

数据分析笔记09:Python条件语循环

Python的缩进机制

Python的重要特性在于使用缩进来表示代码层级。标准缩进为4个空格。快捷键Tab可自动缩进4个空格。缩进表示嵌套关系,相同缩进表示同级语句。

缩进操作技巧包括:向右缩进使用Tab,向左缩进使用Shift + Tab,多行同时缩进可选中多行后按Tab。

基本if语句

语法结构:

if 条件判断:# 条件成立时执行的代码语句1语句2

执行逻辑:若条件返回True,则执行缩进的代码块;若条件返回False,则跳过缩进的代码块。

示例1:简单判断

if True:print('条件成立执行的代码一')
print('无论条件是否成立都执行的代码')

示例2:数值比较

if 9 > 8:print('条件成立执行的代码一')
print('无论条件是否成立都执行的代码')

实际应用:年龄判断上网

age = input('请输入你的年龄:')
if int(age) > 18:print('已经成年可以上网')
print('系统关闭')

重要提醒:input()接收的数据为字符串类型,需要使用int()转换为整型才能进行数值比较。

if-else语句

基本语法

if 条件判断:# 条件成立时执行pass 1
else:# 条件不成立时执行pass 2

执行逻辑:if表示如果条件成立则执行pass 1,else表示否则执行pass 2。

实际示例

age = input('请输入你的年龄:')
if int(age) > 18:print('已经成年可以上网')
else:print('没有成年不能上网')
print('系统关闭')

运行结果:输入19输出「已经成年可以上网」后「系统关闭」;输入12输出「没有成年不能上网」后「系统关闭」。

if-else与人类思维的相似性在于其类似于日常决策,例如如果周末是晴天则出去玩,否则待在家里。Python的条件语句与人类的逻辑思维高度一致。

多重判断(elif)

语法结构

if 条件1:# 条件1成立时执行代码块1
elif 条件2:# 条件2成立时执行代码块2
elif 条件3:# 条件3成立时执行代码块3
else:# 以上条件都不成立时执行代码块4

实际案例:年龄段判断

age = int(input('请输入您的年龄:'))
if age < 18:print(f'您的年龄是{age}岁,童工一枚')
elif age >= 18 and age <= 60:print(f'您的年龄是{age}岁,合法公民')
else:print(f'您的年龄是{age}岁,可以退休')

逻辑分析如下表所示:

输入年龄判断结果输出内容
16age < 18童工一枚
2218 <= age <= 60合法公民
77age > 60可以退休

and逻辑运算符的应用:age >= 18 and age <= 60 表示两个条件同时成立才返回True。

if嵌套

嵌套结构

if 条件1:代码1代码2if 条件2:代码4 # 需要条件1和条件2都成立代码5else:代码6
else:代码7

执行逻辑:只有当条件1成立后,才会判断条件2;代码4和代码5需要条件1和条件2同时成立才执行。

实际案例:乘坐公交车

answer = input('告诉我是否有钱:')
if answer == '有钱':print('请上车大哥')seat = input('是否有座位(输入1代表有座位,其他代表无座位):')if seat == '1':print('大哥请坐下')else:print('大哥请站一会')
else:print('没钱请下车')

场景分析:有钱且有座位输出「请上车大哥」后「大哥请坐下」;有钱且无座位输出「请上车大哥」后「大哥请站一会」;没钱输出「没钱请下车」(不会判断座位)。

改进版:更严谨的判断

answer = input('告诉我是否有钱:')
if answer == '有钱':print('请上车大哥')seat = input('是否有座位(输入1代表有座位,其他代表无座位):')if seat == '1':print('大哥请坐下')else:print('大哥请站一会')
elif answer == '没钱':print('没钱请下车')
else:print('输入错误')

多重判断与嵌套的组合:该例子同时使用了多重判断(if-elif-else)和嵌套(内部的if-else),使程序逻辑更加完善。

while循环

基本语法

while 条件判断:# 条件成立时重复执行的代码循环体

执行逻辑:当条件为True时,不断重复执行循环体,直到条件变为False才跳出循环。

死循环示例

while 9 > 8:print('我请你吃饭')

警告:死循环。9 > 8 永远成立,程序会无限循环打印「我请你吃饭」,永不停止。按红色停止按钮可终止程序。

跳出机制:计数器

i = 0
while i < 5:print('我请你吃饭')i += 1 # 每次循环i加1
print('任务完成')

执行过程如下表所示:

循环次数i的值i < 5?操作
第1次0True打印,i变为1
第2次1True打印,i变为2
第3次2True打印,i变为3
第4次3True打印,i变为4
第5次4True打印,i变为5
第6次5False跳出循环

跳出机制的重要性:while循环必须有跳出机制,否则会造成死循环,导致程序卡死,后续代码无法执行。

for循环

基本语法

for 变量 in range(数字):# 循环执行的代码循环体

range()函数:生成数字区间。

range()函数详解

三种用法:

用法1:range(n) - 从0开始

range(5) # 生成:0, 1, 2, 3, 4

用法2:range(start, stop) - 指定区间

range(2, 5) # 生成:2, 3, 4

用法3:range(start, stop, step) - 指定步长

range(0, 10, 2) # 生成:0, 2, 4, 6, 8

range()的左闭右开特性:range(5) 生成 0, 1, 2, 3, 4,包含起始值(左闭),不包含结束值(右开)。

基本for循环示例

for i in range(5):print('我请你吃饭')
print('任务完成')

执行过程:i依次取值0至4,每取一个值执行一次循环体,自动跳出循环,执行后续代码。

for循环的自动特性

for循环的优势在于不需要手动设置计数器,不需要手动i += 1,自动取值,自动结束,代码更简洁,不易出错。

for循环嵌套

嵌套结构

for 外层变量 in range(外层次数):# 外层循环体for 内层变量 in range(内层次数):# 内层循环体

执行规则:外层循环每执行一次,内层循环完整执行所有次数;外层循环必须等内层循环全部执行完,才能进入下一次外层循环。

实际案例:打印星星矩阵

目标:打印4行,每行3个星星

代码实现:

for j in range(4): # 外层循环控制行数for i in range(3): # 内层循环控制每行的星星数print('*', end='') # end='' 取消默认换行print() # 打印换行符

执行过程详解

如下表所示:

步骤j值i值操作结果
100, 1, 2打印3个**(第1行)
210, 1, 2打印3个**(第2行)
320, 1, 2打印3个**(第3行)
430, 1, 2打印3个**(第4行)

print()的end参数:print('*', end='') 表示打印后不换行,默认情况下print()会自动在末尾加换行符。

循环控制:break

break的作用

功能:立即终止循环,跳出整个循环结构。

语法:

while/for 循环条件:if 某个条件:break # 终止循环其他代码

实际案例:吃苹果

i = 1
while i <= 5:if i == 4:print('吃饱了不吃了')breakprint(f'吃了第{i}个苹果')i += 1
print('从循环中跳出')

执行分析:i=1, 2, 3时正常打印并执行i+=1;i=4时触发break,立即跳出循环,不再执行「吃了第4个苹果」,不再执行i+=1,直接执行循环外的代码。

break的特点:遇到break立即终止循环,不执行break后的任何循环体代码,直接跳到循环外继续执行。

循环控制:continue

continue的作用

功能:跳过本次循环,继续下一次循环。

语法:

while/for 循环条件:if 某个条件:continue # 跳过本次循环其他代码

实际案例:跳过偶数

需求:打印1到19之间的所有奇数

for i in range(1, 20):if i % 2 == 0: # 如果是偶数continue # 跳过本次循环print(i) # 打印奇数

执行过程详解

当i=1时:1%2=11%2=1,不等于0,不执行continue,打印1。

当i=2时:2%2=02%2=0,等于0,执行continue,跳过print(i),不打印2,直接进入下一次循环。

当i=3时:3%2=13%2=1,不等于0,不执行continue,打印3。以此类推。

取余运算符的妙用:i%2==0i%2==0 判断偶数,偶数除以2余数为0,奇数除以2余数为1。

break vs continue

核心区别

如下表所示:

特性breakcontinue
作用终止整个循环跳过本次循环
循环状态不再继续循环继续下一次循环
后续代码跳出后不执行循环体跳过后执行下一次循环
应用场景找到目标后停止跳过特定条件

形象比喻

break类似于吃苹果吃饱了:吃到第3个苹果吃饱了,不再吃任何苹果,结束吃苹果的行为。

continue类似于苹果有虫子:第3个苹果有虫子,不吃,继续吃第4个、第5个苹果,只是跳过有虫子的那个。

对比示例

使用break:

for i in range(1, 6):if i == 3:breakprint(i)
# 输出:1, 2

使用continue:

for i in range(1, 6):if i == 3:continueprint(i)
# 输出:1, 2, 4, 5

总结

缩进的重要性

Python独有的缩进机制:用4个空格表示代码层级,相同缩进等于同级代码,增加缩进等于嵌套代码,不用大括号,更简洁清晰。

条件语句总结

如下表所示:

语句类型语法应用场景
ifif 条件:单一条件判断
if-elseif 条件: ... else:二选一
elifif ... elif ... else:多选一
嵌套if内套if多层条件判断

循环语句总结

如下表所示:

循环类型语法特点适用场景
whilewhile 条件:条件控制不确定次数
forfor i in range():次数控制确定次数

循环控制总结

如下表所示:

关键字作用效果
break终止循环跳出整个循环
continue跳过本次进入下一次循环

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1205613.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JExten:基于Java模块系统(JPMS)构建健壮的插件架构

在Java中构建可扩展应用程序时,开发者常常从一个简单的问题开始:"如何让用户无需重新编译核心应用程序就能添加功能?" 旅程通常始于标准的 java.util.ServiceLoader,它提供了一种发现接口实现的简单机制…

2025年上海盐雾试验箱厂商综合实力排行榜单,砂尘试验箱/高低温交变量热试验箱,盐雾试验箱源头厂家口碑推荐榜

在制造业加速向智能化、精密化转型的背景下,盐雾试验箱作为环境可靠性测试的核心设备,其性能稳定性与技术服务能力直接影响产品质量验证的准确性。当前行业面临技术同质化严重、售后服务响应滞后等痛点,企业需通过技…

全渠道融合能力突出 这些知名呼叫中心品牌值得选

随着企业数字化转型的深入推进,呼叫中心已从单一的电话接听渠道,演进为集语音、在线客服、社交媒体、AI智能于一体的全渠道客户互动中枢。在激烈的市场竞争中,一个稳定、智能、易扩展的呼叫中心系统,已成为企业提升…

2026山东最新资产评估_房地产评估_股权评估_损失评估_数据资产评估机构首选推荐山东卓越全程土地房地产评估有限公司:山东专业机构,全方位服务值得信赖.

在经济活动日益复杂、资产类型不断丰富的今天,专业的评估服务成为企业决策、资产处置、金融信贷等领域不可或缺的关键环节。2026年,在山东及周边地区,山东卓越全程土地房地产评估有限公司(简称“卓越全程评估”)凭…

遇到MWORKS建模问题啦?来MoHub帮你快速解决

模型刚跑起来&#xff0c;然后——叒报错了。 你盯着那行神秘提示看了三秒&#xff1a; ber&#xff0c;怎么还不行&#xff1f; 翻文档&#xff1f;试参数&#xff1f;再跑一遍&#xff1f; 到底是为什么啊&#xff1f; 有没有人管管&#xff01; ——有的。 但&#x…

全方位解析球机摄像头七大核心规格

球机摄像头规格齐全&#xff0c;主要体现在以下七个方面&#xff1a; • 外形尺寸&#xff1a;常见规格有 4。5英寸、6.5英寸等&#xff0c;适配多样化的安装空间与监控覆盖需求。 • 分辨率&#xff1a;涵盖200万像素&#xff08;19201080&#xff09;、500万像素&#xff…

基于Java的工厂车辆智慧管理系统的设计与实现全方位解析:附毕设论文+源代码

1. 为什么这个毕设项目值得你 pick ? 工厂车辆智慧管理系统结合了现代信息技术&#xff0c;针对传统管理方式中数据分散、效率低下等痛点进行了优化。该系统涵盖了车辆管理、客户管理、司机管理等多个模块&#xff0c;并引入GPS设备和驾驶行为管理等功能进行实时监控与数据分…

基于Java的工厂进度智慧管理系统的设计与实现全方位解析:附毕设论文+源代码

1. 为什么这个毕设项目值得你 pick ? 工厂进度智慧管理系统旨在提供一个全面的信息化管理平台&#xff0c;涵盖从会员管理到生产任务管理等多个功能模块。与传统选题相比&#xff0c;该系统不仅涵盖了丰富的业务场景&#xff0c;还具备高度定制化和扩展性优势&#xff0c;能够…

基于Java的工厂食堂餐饮智慧管理系统的设计与实现全方位解析:附毕设论文+源代码

1. 为什么这个毕设项目值得你 pick ? 工厂食堂餐饮智慧管理系统摒弃传统系统&#xff0c;创新性地引入了精细化管理和数据分析功能。它不仅涵盖了菜单菜品管理、原材料供应与订单处理等基本模块&#xff0c;还进一步深化至会员充值、促销活动及库存监控等方面&#xff0c;提高…

市面上常见的呼叫中心系统有哪些 靠谱款盘点可作参考

在当今数字化沟通日益重要的商业环境中,呼叫中心系统已成为企业与客户建立联系、提升服务质量、优化运营效率的关键工具。面对市场上琳琅满目的呼叫中心解决方案,企业如何选择一款既稳定可靠又功能强大的系统?本文将…

CF1290C Prefix Enlightenment 题解

Solution 不难注意到“任意三个子集的交集为空”等价于每盏灯最多同时出现于 \(2\) 个集合中。 设第 \(i\) 盏灯出现在第 \(p_i,q_i\) 两个集合中,若没有则为 \(0\)。设 \(f_k\in \{0,1\}\) 表示是否选集合 \(A_k\)。…

◆comfyUI教程◆第2章11节 Latent基础与应用控制 - 实践

◆comfyUI教程◆第2章11节 Latent基础与应用控制 - 实践2026-01-23 16:01 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; …

2026山东最新山东卓越全程土地房地产评估有限公司资产评估_房地产评估_股权评估_损失评估_数据资产评估机构首选推荐:山东专业机构,全方位服务值得信赖.

在经济活动日益复杂、资产类型不断丰富的今天,专业的评估服务成为企业决策、资产处置、金融信贷等领域不可或缺的关键环节。2026年,在山东及周边地区,山东卓越全程土地房地产评估有限公司(简称“卓越全程评估”)凭…

Matlab调用downloadCIFARData和loadCIFARData出错

问题 使用的代码 % ImageLearn.m datadir = tempdir; downloadCIFARData(datadir); [XTrain,TTrain,XValidation,TValidation] = loadCIFARData(datadir);调用downloadCIFARData和loadCIFARData出现以下错误 >>…

顶刊中的“水刊”!IEEE Trans系列,含金量拉满,3天初审,中一篇可躺平!

&#x1f525; &#x1f525; &#x1f525; &#x1f525;本期&#xff0c;小编给大家推荐的是一本【计算机合作刊】&#xff0c;其创刊于2014年&#xff0c;由IEEE出版社出版&#xff0c;目前位于JCR1区&#xff0c;中科院2区&#xff0c;小类位于中科院1区&#xff0c…

springboot基于微信小程序的高校毕业生公考助手管理系统

背景分析高校毕业生公考助手管理系统基于SpringBoot和微信小程序开发&#xff0c;旨在解决公考备考信息分散、效率低下的问题。随着公务员考试竞争加剧&#xff08;2023年国考报名人数超250万&#xff09;&#xff0c;传统备考方式存在资源整合不足、个性化服务缺失等痛点&…

从黑土到云端,富裕县年货节开启乡村振兴数字新篇

当龙江大地仍被冰雪覆盖&#xff0c;一场连接乡土与全国的年货盛宴已在哈尔滨温情启幕。2026年1月15日&#xff0c;“云购年货乐购富裕”网上年货节在哈尔滨新区数字贸易产业园区正式举办&#xff0c;作为活动核心组成部分的展厅环节&#xff0c;不仅是“富裕优品”的集中亮相&…

2026年国产控油粉底液专业深度测评:排名前五品牌权威发布

2026年国产控油粉底液专业深度测评:排名前五品牌权威发布 随着国内美妆研发实力的崛起与消费者需求的精细化,国产控油粉底液市场已进入技术驱动、功效为先的新阶段。面对琳琅满目的产品,如何选择一款兼具长效控油、…

mysql二进制日志清理

-- 查看binlog保留策略 SHOW VARIABLES LIKE expire_logs_days; -- 手动清理7天前的binlog(保留近期日志) PURGE BINARY LOGS BEFORE DATE_SUB(NOW(), INTERVAL 7 DAY); -- 配置自动清理(修改my.cnf,避免再次堆积)…

2026年租车厂家权威推荐榜:免押金租车、商务租车、四川租车公司、团体租车、成都汽车租赁、成都汽车租赁公司、成都租车选择指南

2026诚信商务租车公司推荐适配异地差旅一、行业背景与筛选依据据《2026中国汽车租赁行业发展白皮书》显示,2026年国内商务租车市场规模突破800亿元,年复合增长率达12.7%,其中异地差旅场景需求占比超40%。随着商务出…