第5篇重复执行——让程序帮你干活开篇引入作者中文编程倡导者—— 李金雨联系方式wbtm2718qq.com系列python中文编程入门教程** 核心理念 AI时代必须使用中文编程母语编程阅读效率极高本课目标掌握for循环的基本使用掌握range()函数的使用掌握while循环的基本使用理解break和continue语句的作用理解嵌套循环的使用生活场景引入同学们在日常生活中我们经常需要重复做一些事情每天早上起床、刷牙、洗脸上课点名时老师逐个叫学生的名字计算1到100的和练习钢琴时反复弹奏同一首曲子在Python中我们可以使用循环语句来让程序重复执行某些操作。循环语句让程序能够自动完成重复的任务提高编程效率。预期成果展示在本课结束时你将能够使用for循环遍历序列使用range()函数生成数字序列使用while循环进行条件循环使用break语句跳出循环使用continue语句跳过本次循环编写一个完整的猜数字游戏概念讲解1. for循环遍历循环for循环用于遍历序列如列表、元组、字符串等中的每个元素。基本结构for变量in序列:# 对每个元素执行的代码代码块生活例子点名册逐个点名购物清单逐个检查成绩单逐个查看代码示例# for循环示例# 遍历列表水果列表[苹果,香蕉,橙子,葡萄]for水果in水果列表:print(我喜欢吃水果)# 遍历字符串名字Pythonfor字母in名字:print(字母)# 遍历元组数字元组(1,2,3,4,5)for数字in数字元组:print(数字)2. range()函数生成数字序列range()函数用于生成一个数字序列常用于for循环中。基本用法range(n)生成0到n-1的数字序列range(start, stop)生成start到stop-1的数字序列range(start, stop, step)生成start到stop-1的数字序列步长为step生活例子从1数到10数奇数倒计时代码示例# range()函数示例# 生成0到4的数字序列foriinrange(5):print(i)# 输出0, 1, 2, 3, 4# 生成1到9的数字序列foriinrange(1,10):print(i)# 输出1, 2, 3, 4, 5, 6, 7, 8, 9# 生成1到9的奇数序列foriinrange(1,10,2):print(i)# 输出1, 3, 5, 7, 9# 倒计时foriinrange(10,0,-1):print(i)print(时间到)3. while循环条件循环while循环用于在条件为真时重复执行代码块。基本结构while条件:# 条件为真时执行的代码代码块生活例子反复练习直到掌握吃饭直到吃饱等待直到条件满足代码示例# while循环示例# 计算1到100的和和0数字1while数字100:和数字 数字1print(1到100的和是,和)# 猜数字游戏的核心逻辑importrandom 随机数random.randint(1,100)猜测0while猜测!随机数:猜测int(input(请猜一个1-100之间的数字))if猜测随机数:print(猜大了)elif猜测随机数:print(猜小了)print(恭喜你猜对了)4. break跳出循环break语句用于跳出当前循环不再执行循环中剩余的代码。生活例子找到答案就停止搜索找到目标就停止寻找遇到错误就停止执行代码示例# break语句示例# 寻找第一个大于10的数数字列表[5,8,12,3,7,15]for数字in数字列表:if数字10:print(找到第一个大于10的数,数字)break# 密码输入正确密码123456whileTrue:密码input(请输入密码)if密码正确密码:print(密码正确登录成功)breakelse:print(密码错误请重试。)5. continue跳过本次continue语句用于跳过当前循环的剩余代码直接开始下一次循环。生活例子跳过请假的同学跳过不符合条件的元素跳过错误的数据代码示例# continue语句示例# 打印1到10之间的奇数foriinrange(1,11):ifi%20:continueprint(i)# 筛选及格的成绩成绩列表[85,60,45,90,75,55]for成绩in成绩列表:if成绩60:continueprint(及格的成绩,成绩)6. 嵌套循环嵌套循环是指在一个循环内部再包含另一个循环。生活例子打印乘法表遍历二维数组生成复杂的图形代码示例# 嵌套循环示例# 打印乘法表foriinrange(1,10):forjinrange(1,i1):print(f{j}×{i}{i*j},end\t)print()# 打印三角形行数5foriinrange(1,行数1):# 打印空格forjinrange(行数-i):print( ,end)# 打印星号forjinrange(2*i-1):print(*,end)print()动手实践基础练习必做打印乘法表编写一个程序打印9×9乘法表# 打印乘法表foriinrange(1,10):forjinrange(1,i1):print(f{j}×{i}{i*j},end\t)print()计算1到100的和使用while循环计算1到100的和# 计算1到100的和和0数字1while数字100:和数字 数字1print(1到100的和是,和)进阶练习选做打印各种图形编写程序打印三角形、菱形等图形# 打印菱形行数5# 上半部分foriinrange(1,行数1):print( *(行数-i)**(2*i-1))# 下半部分foriinrange(行数-1,0,-1):print( *(行数-i)**(2*i-1))猜数字游戏完整版编写一个完整的猜数字游戏记录猜测次数# 猜数字游戏完整版importrandom 随机数random.randint(1,100)猜测次数0print(欢迎来到猜数字游戏)print(我已经想好了一个1到100之间的数字你能猜到它吗)whileTrue:猜测int(input(请输入你的猜测))猜测次数1if猜测随机数:print(太小了再试一次。)elif猜测随机数:print(太大了再试一次。)else:print(f恭喜你猜对了答案就是{随机数}。)print(f你一共猜了{猜测次数}次。)break挑战练习拓展质数判断编写一个程序判断一个数是否是质数# 质数判断数字int(input(请输入一个正整数))if数字1:print(f{数字}不是质数)else:是质数Trueforiinrange(2,int(数字**0.5)1):if数字%i0:是质数Falsebreakif是质数:print(f{数字}是质数)else:print(f{数字}不是质数)斐波那契数列编写一个程序生成斐波那契数列的前n项# 斐波那契数列nint(input(请输入要生成的斐波那契数列项数))ifn0:print(请输入正整数)elifn1:print([0])elifn2:print([0,1])else:数列[0,1]foriinrange(2,n):下一项数列[i-1]数列[i-2]数列.append(下一项)print(数列)知识总结核心概念回顾for循环用于遍历序列中的每个元素range()函数用于生成数字序列while循环用于在条件为真时重复执行代码块break语句用于跳出当前循环continue语句用于跳过当前循环的剩余代码嵌套循环在一个循环内部再包含另一个循环关键代码速查功能代码说明for循环for 变量 in 序列: 代码块遍历序列中的每个元素range()函数range(n)生成0到n-1的数字序列while循环while 条件: 代码块条件为真时重复执行代码块break语句break跳出当前循环continue语句continue跳过当前循环的剩余代码嵌套循环for i in range(n): for j in range(m): 代码块在一个循环内部再包含另一个循环常见错误提醒无限循环while循环的条件永远为真导致无限循环缩进错误循环体的缩进不正确循环变量未更新while循环中没有更新循环变量导致无限循环range()函数参数错误参数顺序或值不正确嵌套循环效率嵌套循环层数过多会影响程序运行效率课后作业巩固练习题编写一个程序使用for循环计算1到100之间所有偶数的和编写一个程序使用while循环实现倒计时功能从10数到1创意编程题编写一个程序打印一个九九乘法表要求格式美观编写一个程序模拟一个简单的抽奖系统用户输入姓名然后随机生成一个奖项下篇预习提示在下一篇中我们将学习数据结构了解如何使用列表和字典来管理大量数据。请思考生活中有哪些需要管理大量数据的场景如何用程序来组织和管理这些数据学习交流如果你在学习过程中遇到任何问题欢迎联系我** 视频号“时空系”邮箱wbtm2718qq.com其他提示本人正在开发纯中文编程语言和编译器有兴趣的可以交流本人正在写一本基于中国母语思维习惯的数学教材可以让你一年内学完从初中到研究生的数学而且可以让你快速掌握人工智能的关键数学知识有兴趣的可以交流祝你学习愉快