当前位置: 首页 > news >正文

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

数据分析笔记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.jsqmd.com/news/289369/

相关文章:

  • JExten:基于Java模块系统(JPMS)构建健壮的插件架构
  • 2025年上海盐雾试验箱厂商综合实力排行榜单,砂尘试验箱/高低温交变量热试验箱,盐雾试验箱源头厂家口碑推荐榜
  • 全渠道融合能力突出 这些知名呼叫中心品牌值得选
  • 2026山东最新资产评估_房地产评估_股权评估_损失评估_数据资产评估机构首选推荐山东卓越全程土地房地产评估有限公司:山东专业机构,全方位服务值得信赖.
  • 遇到MWORKS建模问题啦?来MoHub帮你快速解决
  • 全方位解析球机摄像头七大核心规格
  • Jmeter性能测试 -3数据驱动实战
  • 基于Java的工厂车辆智慧管理系统的设计与实现全方位解析:附毕设论文+源代码
  • 基于Java的工厂进度智慧管理系统的设计与实现全方位解析:附毕设论文+源代码
  • 基于Java的工厂食堂餐饮智慧管理系统的设计与实现全方位解析:附毕设论文+源代码
  • 市面上常见的呼叫中心系统有哪些 靠谱款盘点可作参考
  • CF1290C Prefix Enlightenment 题解
  • ◆comfyUI教程◆第2章11节 Latent基础与应用控制 - 实践
  • 2026山东最新山东卓越全程土地房地产评估有限公司资产评估_房地产评估_股权评估_损失评估_数据资产评估机构首选推荐:山东专业机构,全方位服务值得信赖.
  • Matlab调用downloadCIFARData和loadCIFARData出错
  • 顶刊中的“水刊”!IEEE Trans系列,含金量拉满,3天初审,中一篇可躺平!
  • springboot基于微信小程序的高校毕业生公考助手管理系统
  • 从黑土到云端,富裕县年货节开启乡村振兴数字新篇
  • 2026年国产控油粉底液专业深度测评:排名前五品牌权威发布
  • mysql二进制日志清理
  • 2026年租车厂家权威推荐榜:免押金租车、商务租车、四川租车公司、团体租车、成都汽车租赁、成都汽车租赁公司、成都租车选择指南
  • 2026年专业深度测评:国产控油粉底液排名前五权威榜单
  • 2026山东最新资产评估事务所top5推荐!潍坊等地专业评估机构权威榜单发布,资质全面服务多元助力资产价值精准评估.
  • 华为耳机这3个隐藏技能,把实用性拉满!
  • 2026年四川夜景照明工程哪家好?五大优质厂家深度推荐,众奇光彩领跑文旅夜游与城市亮化新赛道
  • GitHub Issues 集成
  • 2026年评价高的磁力泵公司推荐:氟塑料磁力泵/液下化工泵/耐腐蚀化工泵/耐腐蚀磁力泵/耐酸磁力泵/自吸化工泵/选择指南
  • 基于SpringBoot和Vue的实验报告管理系统的设计与实现
  • 新加坡最好的硕士留学机构,申请成功率高,助您留学无忧
  • 南京展会设计公司2026年度推荐:品质之选,展览搭建/展厅制作/展览设计/展厅装修/会场搭建/展位设计,展会设计企业推荐