句容网站建设网站建设 企业

武汉古倪环保科有限公司 2026/09/09 18:28:02

包含编程资料、学习路线图、源代码、软件安装包等!【[点击这里]】!

第一部分:for循环

什么是for循环?
在什么时候需要用到循环?
for循环基本语法:
1for临时变量in可迭代序列:2循环中的执行语句13循环中的执行语句24...
语法分解说明:
比如:如果某一个数据中的元素,需要被逐个循环调用。
1a='abcefgh'2foriina:# i是临时变量;a是可迭代序列3print(i)
遍历结果:

比如:如果某一项操作,需要重复执行。
1a='abcefgh'2foriina:3print("我爱编程")
操作结果:

range()函数

两个参数示例:
1foriinrange(1,10):2print(i)
示例运行结果:
因此,可以得到range()函数有范围要求。
范围:range()函数包头不含尾(左闭右开区间)。

range()函数是可以只传递一个数据的。上面的示例已经展示了两个参数的用法。下面是单个参数的情况:
单个参数示例:
1foriinrange(5):2print(i)
运行结果:

从运行结果可知。range(5)生成从0开始到4的整数序列。从而得知,range()函数没有指定开始值的时候,默认从0开始,一直到指定值前一个值结束(符合包头不含尾的特性)。

综合案例讲解:

1.反转字符串
1# 定义一个需要反转的字符串。2a="I love Python"3# 在定义一个空字符串,用于存储反转后的字符。4b=""56# 利用for循环将字符串种的每个字符添加到b的前面7foriina:8b=i+b# 注意:i每次都加在b前面。所以,最新拿到的字符会出现在字符串最前面,实现反转。910# 打印反转后的字符串。11print(b)
运行结果为:

2.过滤字符串中的空格
1a="Hello World 哈哈哈哈哈哈"2b=""34foriina:5ifi!=' ':#只有当i不等于空格时才会进行判断里面的拼接操作6b+=i78print("过滤后的字符串:",b)
运行结果:

3.计算连续整数的累加和累乘
1# 连续整数的累加: 1-1002sum_=03foriinrange(1,101):4sum_+=i# 等价于:sum_ = sum_ + i56print("总和:",sum_)78# 连续整数的累乘9product=110foriinrange(1,101):11product*=i# 等价于:product = product * i1213print("累乘结果:",product)
这里插入介绍一下两个赋值运算符:
1# 初始化变量 a 为 12a=13print(f"初始值: a ={a}")45# 使用 += 运算符,将 a 的值增加 26a+=27print(f"使用 += 后: a ={a}")# 输出为: 3
运行结果:可以看到效果等同于a = a + 2。

*= 乘法赋值运算符:a *= b 等价于 a = a * b。这个运算符用于将变量的当前值与右侧的值相乘,并将结果重新赋值给该变量。示例:
1# 初始化变量 a 为 22a=23print(f"初始值: a ={a}")45# 使用 *= 运算符,将 a 的值乘以 36a*=37print(f"使用 *= 后: a ={a}")# 输出应该是 6
运行结果:可以看到效果等同于 a = a * 3。

我们继续看累加和累乘的结果:

4.结合 if 语句进行条件判断
1fornuminrange(1,101):2ifnum%3==0:3print(num,"是3的倍数~")4ifnum%5==0:5print(num,"是5的倍数~")6ifnum%7==0:7print(num,"是7的倍数~")
运行结果将为:

第二部分:交换变量

错误的变量交换:

1# 错误的交换变量:2a=13b=24# 要求a,b值互换,怎么实现?5a=b# a 变成 2(原始值 1 丢失)6b=a# b 也变成 2(此时 a 已经是 2)7print(a)# 输出 28print(b)# 输出 2
运行结果:可以看到a和b的结果都是2

错误分析:

正确用法:第一种-使用临时变量

1a=12b=334# 使用临时变量交换5temp=a6a=b7b=temp89print("a =",a)# 输出: a = 310print("b =",b)# 输出: b = 1
运行结果:从运行结果可以看到,变量交换成功。

正确用法:第二种-利用python语法

1a=12b=334# 利用Python语法特点。5a,b=b,a67print("a =",a)# 输出: a = 38print("b =",b)# 输出: b = 1
运行结果:

第三部分:异常捕获

案例讲解:
1.捕获类型转换错误
1a=input("输入一个数字:")2a=int(a)# 转换为整数类型3'''接下来,我们在控制台内输入非整数字类型的'''
我们接下来使用try语句对异常错误进行捕获。
1a=input("输入一个数字:")23try:4a=int(a)5exceptValueErrorasv:# 从前面的运行代码中,可以知道错误类型是ValueError,所以使用了这个类型并用as重命名错误类型为v6print(v)# 打印捕获的错误信息7print("您输入的数据无法转换!")# 其它的处理...8'''我们再次输入非整数字类型的,观察运行结果'''
运行结果:在使用了异常捕获语句的情况下,成功捕获异常,让程序正常结束。

最后,我们使用try…except…else…finally的语句,进行其它操作,见完整示例:
1a=input('请输入1个数字:')2try:3a=int(a)4print(a)# 打印输入的内容5exceptExceptionase:# Exception-是用来捕获所有错误类型的,取别名为e6print(e)# 打印捕获的错误7print('该元素不能转换为整数类型')8else:9b=a+1# 简单对a变量进行操作10print(b)# 打印b11finally:12print('运行结束')
输入正确数字的运行结果:

输入错误数据的运行结果:

总结:

通过案例我们总结下异常捕获语法:

1try:2# 可能引发异常的代码3exceptExceptionTypease:# ExceptionType-指具体的错误类型,可以使用as语句重命名为e,e是一个自定义的变量名。4# 报错发生后,运行的代码。5else:6# 如果try块中没有发生异常,执行这里的代码7finally:8# 不管有没有发生异常都会执行的代码

使用异常捕获语句的意义:

【案例】for循环 + 异常捕获语句获取字符串中数字的倒数
什么是倒数:
1strs='abc123def4560'2foriinstrs:3try:4i=int(i)5result=1/i6exceptExceptionase:# Exception包含所有错误。也可以分别获取,使用ValueError和ZeroDivisionError。7print(i,"不能得到倒数")8# print(i)9else:10print("倒数:",result)11finally:12print('计算结束')1314"""分开Exception的写法"""15foriinstrs:16try:17# 尝试将字符转换为整数18num=int(i)19# 计算倒数20result=1/num21exceptValueError:22# 如果字符不是数字,则会抛出ValueError异常23print("字符",i,"不是数字,不能计算倒数")24exceptZeroDivisionError:25# 如果数字是0,则会抛出ZeroDivisionError异常26print("数字",i,"的倒数无法计算,因为除以零是不允许的")27else:28# 成功计算了倒数29print(num,"的倒数是:",result)30finally:31# 无论是否发生异常都会执行32print('计算结束')
运行结果:

不同异常的对应处理:

为什么需要捕获特定的错误类型?

a.它可以精准的修复问题,不同的错误,不同的处理;比如:
1try:2num=int(input("请输入数字:"))3exceptValueError:# 明确处理非数字输入4print("输入的不是数字!")
b.避免因为使用Exception隐藏了严重错误。
c.如果有多种错误类型捕获,使用分层捕获的方式能让代码结构清晰易于维护。
1# 分层捕获一目了然2try:3num1=int(input("请输入第一个数字:"))# 可能触发 ValueError(如输入"abc")4num2=int(input("请输入第二个数字:"))5result=num1/num2# 可能触发 ZeroDivisionError(如 num2=0)6exceptValueError:7print("错误!请输入整数,不要输入文字!")8exceptZeroDivisionError:9print("错误!除数不能为零!")

1.TypeError(类型错误)

1try:2a=5+'10'3exceptTypeErrorase:4print(e)
运行结果:

2.ValueError(值错误)

1try:2num=int('abc')3exceptValueErrorase:4print(e)
运行结果:

3.NameError(名称错误)

1try:2print(x)3exceptNameErrorase:4print(e)
运行结果:

4.IndexError(索引错误)

1a=[1,2,3]2try:3print(a[3])4exceptIndexErrorase:5print(e)
运行结果:

5.KeyError(键错误)

1d={'a':1,'b':2}2try:3print(d['c'])4exceptKeyErrorase:5print(e,"不存在的键")
运行结果:

6.ZeroDivisionError(除零错误)

1try:2a=5/03exceptZeroDivisionErrorase:4print(e)
运行结果:

7.IOError(输入/输出错误)

1try:2f=open('test.txt','r')# 这个test.txt在项目中不存在3exceptIOErrorase:4print(e)
运行结果:

8.ImportError(导入错误)

1try:2importhahahaha3exceptImportErrorase:4print(e)
运行结果:

9.AttributeError(属性错误)

1s='aaa'2try:3s.hahahaha()4exceptAttributeErrorase:5print(e)
运行结果:

10.KeyboardInterrupt(键盘中断)

1input('请输入:')# 不捕获,中断输入的报错2try:3input('请输入:')4exceptKeyboardInterruptase:5print(e)
运行结果:
中断方式

KeyboardInterrupt报错

捕获KeyboardInterrupt

➕其它错误类型

注意点:

1"""下面这个示例,在上面【TypeError(类型错误)】有讲解"""2"""这里用ValueError的错误类型,尝试运行"""3try:4a=5+'10'5exceptValueErrorase:6print(e)
运行结果:
这时,我可以使用Exception捕获错误:
1try:2a=5+'10'3exceptExceptionase:4print(e)
运行结果:

捕获怎样的错误类型,与自己写的程序有关。

【最后】-拓展复合赋值运算符

注意事项示例:先计算后赋值。先计算“=”右边的,再复合赋

值计算。

1a=22a*=2+3# 等价于:a = a * (2 + 3)3print(a)# 输出: 10
运行结果:

🟢总结

🟡文末福利

🔴包含编程资料、学习路线图、源代码、软件安装包等!【点击这里】领取!

可以扫描下方二维码领取【保证100%免费

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

网站建设中如何建设网站

jsplumb-dataLineage-vue:企业级数据血缘可视化解决方案终极指南【免费下载链接】jsplumb-dataLineage-vuehttps://github.com/m

2026/06/30 12:22:31

房产网站建设淮安网站建设

KORMo-10B:首个全开源韩语推理模型如何重构非英语AI生态【免费下载链接】KORMo-10B-sft项目地址: https://ai.gitcode.com/hf_mirrors/

2026/06/30 10:52:22

济宁网站建设东莞手机网站建设

飞书文档批量导出完整指南:企业知识库迁移终极方案【免费下载链接】feishu-doc-export项目地址: https://gitcode.com/gh_mirrors/fe/feis

2026/06/30 12:50:33

长安网站建设连云港网站建设

Stripe支付集成:让用户便捷购买DDColor使用额度在家庭相册里泛黄的老照片前驻足,是许多人共有的情感体验。那些模糊的轮廓、褪色的面容,承载着几代人的记

2026/06/30 12:25:31

网站建设系统南昌网站建设

一、Java 基础与集合1. ArrayList 和 LinkedList 的区别?ArrayList 底层是数组,查询快,增删慢;适合查多改少

2026/06/30 10:28:20

电器网站建设学校网站建设

Vue3甘特图组件深度解析:构建高性能项目管理界面的终极方案【免费下载链接】ganttAn easy-to-use Gantt component. 持续更新,中文文档项目

2026/06/30 10:37:52

兰州网站建设网站建设一条龙

文章详细介绍了RAG(检索增强生成)系统,通过通俗易懂的方式解释了RAG如何解决大模型的知识冻结和幻觉问题。内容涵盖RAG的核心概念、向量数据库的作用、完整的

2026/06/30 14:17:09

上海网站建设句容网站建设

FaceFusion与Smartsheet智能表格整合:动态报表人物解说在企业数字化转型的浪潮中,数据不再只是冷冰冰的数字堆叠。如何让财报、运营报告、项目进度这些关键信息“

2026/06/30 12:53:04

网站建设论文深圳外贸网站建设

拼多多电商数据采集实战:构建高效爬虫系统的完整指南【免费下载链接】scrapy-pinduoduo拼多多爬虫,抓取拼多多热销商品信息和评论项目地址: https://git

2026/06/30 14:19:39

网站建设计划书网站建设管理

PyRobot终极指南:5分钟快速上手机器人开发【免费下载链接】pyrobotPyRobot: An Open Source Robotics Research Platform项目地址

2026/06/30 12:28:31