当前位置: 首页 > 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加1print('任务完成')

执行过程如下表所示:

循环次数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.dtcms.com/a/614516.html

相关文章:

  • 可在哪些网站做链接赣州网络招聘
  • 高端网站制作网站背景自动切换
  • 代码生成工具GitHub Copilot介绍
  • RDMA基本操作类型---send/recv,write/read
  • 2.37基于Multisim的数字电子钟准点报时,时间可调,Multisim时钟,Multisim电子时钟。含3000字报告。功能:带准点报时,时间可调
  • 建筑模板有哪些seo优化按天扣费
  • 广州网站设计联系方式旅游做攻略用什么网站好
  • 小华HC32L136K8TA 单片机新建 MDK5 工程模板 (一)
  • day15(11.15)——leetcode面试经典150
  • LED闪烁功能代码详解
  • 这几年做哪些网站致富基于ssh框架的网站开发流程
  • 远程(本地)连接不上虚拟机
  • Ubunntu24.04 下载jdk 8
  • SpringCache详细教学使用
  • 39Nginx的rewrite规则执行逻辑详解
  • C++—priority_queue/仿函数:优先级队列的使用及模拟实现
  • 做网站哪些dw使用模板做网站教程
  • 深圳市光明建设发展集团网站网站建设面谈话术
  • Java EE进阶5:Spring IoCDI
  • 中专生学历提升与职业发展指南
  • 易语言怎么反编译 | 如何通过反编译理解易语言的工作原理与破解技巧
  • 阿里国际站韩语网站怎么做百度帐号个人中心
  • EnsembleRetriever中的倒数融合排序算法
  • 网站客户端制作多少钱wordpress导出html
  • 银河麒麟高级服务器系统(V11)的安装部署实操保姆级教程
  • 202552读书笔记|《漫步在晴朗的日子里》——拥有一颗坚定的心去面对朝花夕拾,潮涨潮落
  • 物流查询网站开发青岛网站建设好不好
  • C#20、什么是LINQ
  • Springboot加盟平台推荐可视化系统ktdx2ldg(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 公网动态ip如何做网站网站项目建设周期