第5天:循环 —— 让程序重复执行

发布时间:2026/6/13 22:11:58

第5天:循环 —— 让程序重复执行 今日目标掌握for循环的基本用法学会使用range()生成数字序列掌握while循环的用法理解break和continue的作用避免写出“死循环”能够选择合适的循环解决实际问题 一、for循环遍历序列当你需要对一组数据中的每个元素做同样的操作时用for循环。1.1 遍历字符串pythonfor ch in Python: print(ch)运行结果textP y t h o nfor循环会依次取出字符串中的每一个字符赋值给变量ch然后执行缩进的代码块。1.2 遍历列表列表是Python中常用的数据类型后面会详细讲现在先简单了解它的用法。pythonfruits [苹果, 香蕉, 橘子] for fruit in fruits: print(f我喜欢吃{fruit})运行结果text我喜欢吃苹果 我喜欢吃香蕉 我喜欢吃橘子1.3 使用range()生成数字序列range()是Python内置函数专门用来生成一系列整数。它有三种用法用法示例生成的序列range(stop)range(5)0, 1, 2, 3, 4从0开始不包含5range(start, stop)range(2, 6)2, 3, 4, 5包含start不包含stoprange(start, stop, step)range(1, 10, 2)1, 3, 5, 7, 9step是步长示例1打印0到4pythonfor i in range(5): print(i)运行结果text0 1 2 3 4示例2打印1到5pythonfor i in range(1, 6): print(i)运行结果text1 2 3 4 5示例3打印1,3,5,7,9pythonfor i in range(1, 10, 2): print(i)运行结果text1 3 5 7 9示例4倒序打印10到1pythonfor i in range(10, 0, -1): print(i)运行结果text10 9 8 7 6 5 4 3 2 1range(stop)是最常用的尤其是需要循环固定次数时。注意它从0开始到stop-1结束。1.4 计算1到100的总和pythontotal 0 for i in range(1, 101): total total i # 也可以写成 total i print(f1到100的总和是: {total})运行结果text1到100的总和是: 5050total i是total total i的简写Python 还支持-、*、/等。 二、while循环条件满足时一直执行当你不知道需要循环多少次只知道什么时候停止时用while循环。2.1 基本语法pythonwhile 条件: 条件为真时重复执行的代码只要条件为True循环就会一直执行。所以一定要在循环体内改变条件的值否则会无限循环。2.2 简单示例打印1到5pythoni 1 while i 5: print(i) i i 1 # 或 i 1运行结果text1 2 3 4 52.3 不断询问用户输入直到正确为止pythonpassword while password ! python123: password input(请输入密码: ) print(密码正确欢迎进入系统)运行过程示例text请输入密码: 123 请输入密码: abc 请输入密码: python123 密码正确欢迎进入系统 这个例子展示了while的经典用法不知道用户第几次才能输对所以一直循环直到条件满足。 三、break提前结束循环break可以立即终止当前所在的循环不管循环条件是否还满足。python# 查找第一个能被7整除的数 for i in range(1, 100): if i % 7 0: print(f第一个能被7整除的数是 {i}) break # 找到后立即退出循环运行结果text第一个能被7整除的数是 7如果不加break循环会继续检查后面的数浪费资源。与while结合使用python# 猜数字游戏简化版 secret 7 while True: # 无限循环依靠 break 退出 guess int(input(猜一个数字(1-10): )) if guess secret: print(恭喜猜对了) break else: print(猜错了再试试)⚠️while True是故意制造无限循环但必须确保里面有break能退出。⏭️ 四、continue跳过本次循环继续下一次continue会忽略本次循环中剩余的代码直接进入下一次循环。python# 打印1到10之间的奇数跳过偶数 for i in range(1, 11): if i % 2 0: continue print(i)运行结果text1 3 5 7 9当i是偶数时continue会跳过print(i)直接进入下一个i。⚠️ 五、避免死循环死循环是指条件永远为True且没有break退出的循环。一旦出现程序会永远运行下去只能强制关闭终端。错误示例pythoni 1 while i 5: print(i) # 忘记写 i i 1所以 i 永远是 1条件永远为 True后果程序会无限输出1直到你按CtrlC强制终止。如何避免确保循环条件最终会变为False使用break时确保它最终会被执行到不要在应该更新条件的地方写错逻辑 六、循环嵌套循环里面套循环循环里面可以再写循环这叫嵌套循环。打印乘法口诀表pythonfor i in range(1, 10): for j in range(1, i 1): print(f{j}×{i}{i*j}, end\t) print() # 换行运行结果text1×11 1×22 2×24 1×33 2×36 3×39 1×44 2×48 3×412 4×416 1×55 2×510 3×515 4×520 5×525 1×66 2×612 3×618 4×624 5×630 6×636 1×77 2×714 3×721 4×728 5×735 6×742 7×749 1×88 2×816 3×824 4×832 5×840 6×848 7×856 8×864 1×99 2×918 3×927 4×936 5×945 6×954 7×963 8×972 9×981 外层循环i控制行数内层循环j控制每行打印的列数。end\t让每个结果之间用制表符分隔而不是换行。 七、综合示例猜数字游戏完整版pythonimport random # 生成1-100之间的随机数 secret random.randint(1, 100) attempts 0 print( 猜数字游戏 ) print(我已经想好了一个1-100之间的数字你猜是多少) while True: guess int(input(请输入你的猜测: )) attempts 1 if guess secret: print(太小了再大一点) elif guess secret: print(太大了再小一点) else: print(f恭喜你用了 {attempts} 次猜对了答案就是 {secret}) break运行示例text 猜数字游戏 我已经想好了一个1-100之间的数字你猜是多少 请输入你的猜测: 50 太小了再大一点 请输入你的猜测: 75 太大了再小一点 请输入你的猜测: 62 恭喜你用了 3 次猜对了答案就是 62 八、新手常见错误及解决错误现象错误代码示例解决方法死循环程序不停止i 1while i 5:print(i)在循环内加上i 1for循环忘记缩进for i in range(5):print(i)没有缩进在print前加4个空格break或continue写在循环外if x 5:break但没有循环只能在for或while循环体内使用range的结束值理解错误for i in range(5):以为会输出1-5记住range(5)输出 0,1,2,3,4总共5个数用而不是作为循环条件while x 5:改为while x 5:忘记转换输入类型guess input(数字: )然后在循环里和整数比较用int(input(...))错误演示死循环pythoncount 0 while count 3: print(循环中) # 忘记 count 1按下CtrlC可以强制终止程序。正确做法一定要有改变条件的方式pythoncount 0 while count 3: print(循环中) count 1 # 不加这行就会死循环 今日总结今天你学会了for循环遍历字符串、列表以及与range()配合while循环在条件为真时重复执行break提前终止循环continue跳过本次循环如何避免死循环嵌套循环循环里套循环编写了猜数字游戏

相关新闻