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

徐州鹿行者网络科技有限公司 2026/09/09 19:17:21

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

第一部分: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%免费

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

网站建设方案招商网站建设

如何用50张图片训练专属AI绘画模型?LoRA-Scripts实战教程来了在生成式AI席卷内容创作的今天,一个现实问题摆在许多设计师和开发者面前:通用的大模型

2026/06/30 13:07:34

龙岗网站建设网站建设规划

语音合成灰度环境隔离:确保生产系统稳定性在AI驱动的智能服务时代,语音合成已不再是实验室里的技术玩具,而是支撑虚拟主播、智能客服、有声内容生成等关键业务的核心

2026/06/30 13:44:07

南通网站建设荥阳网站建设

Langchain-Chatchat问答系统自动摘要功能实现在企业知识管理日益复杂的今天,如何让员工快速从成千上万页的制度文档、技术手册和项目报告中找到所需信息,已经成为一

2026/06/30 12:15:30

湘潭网站建设十堰网站建设

PyTorch模型保存与加载:在Miniconda-Python3.11中实现断点续训在深度学习项目开发过程中,一个再熟悉不过的场景是:你启动了一个长达数十小

2026/06/30 12:59:34

营销网站建设东莞南城网站建设

想要在金融领域快速部署智能文本分析系统?FinBERT2正是你需要的解决方案!作为专为金融文本设计的预训练语言模型,它基于320亿Token的中文金融语料深度

2026/06/30 11:50:27

烟台网站建设诸城网站建设

LangFlow + JD Cloud + JMonitor:构建可视化、可监控的AI工作流体系在大模型技术迅猛发展的今天,企业正以前所未有的速度将LLM能

2026/06/30 10:53:22

湖州网站建设松原网站建设

Obsidian研究笔记模板:3步构建科研工作流的智能中枢【免费下载链接】obsidian_vault_template_for_researcherThis is an vault t

2026/06/30 12:42:32

渭南网站建设网站建设策划

Flutter混合开发终极指南:快速实现iOS原生界面无缝集成【免费下载链接】samplesA collection of Flutter examples and demos项目地址:

2026/06/30 11:55:58

信阳网站建设鞍山网站建设

PostgreSQL pgvector扩展完整安装与实战指南:从零开始构建AI向量数据库【免费下载链接】pgvectorOpen-source vector similarity sea

2026/06/30 10:42:22