如果需要输出 100 次“继续学习”,难道要写 100 行 print() 吗?当然不用。循环可以让程序自动重复执行任务。
for 适合处理次数明确的重复任务。
for number in range(1, 6):
print(number)
输出:
1
2
3
4
5
range(1, 6) 包含起点 1,但不包含终点 6。
二、理解 range
range(5) # 0、1、2、3、4
range(1, 5) # 1、2、3、4
range(2, 11, 2) # 2、4、6、8、10
第三个参数表示步长。
for number in range(10, 0, -1):
print(number)
这段代码会从 10 倒数到 1。
三、用循环累计结果
计算 1~100 的总和:
total = 0
for number in range(1, 101):
total += number
print(f"总和:{total}")
total 是累计变量,每次循环都把当前数字加进去。
四、while 循环
while 适合重复次数不确定、但结束条件明确的任务。
count = 1
while count <= 5:
print(count)
count += 1
如果忘记更新 count,条件会一直成立,程序就会陷入无限循环。
五、break 与 continue
break 用于立即结束整个循环:
while True:
command = input("输入 q 退出:").strip().lower()
if command == "q":
break
print(f"你输入了:{command}")
continue 用于跳过本轮,直接进入下一轮:
for number in range(1, 6):
if number == 3:
continue
print(number)
输出中不会出现 3。
六、for 还是 while
基础练习
今日项目:猜数字游戏
answer = 37
guess_count = 0
while True:
guess = int(input("请猜一个1到100之间的数字:"))
guess_count += 1
if guess < answer:
print("猜小了")
elif guess > answer:
print("猜大了")
else:
print(f"猜对了!你一共猜了{guess_count}次。")
break
进阶挑战:限制最多猜 7 次,并在失败后公布正确答案。
查漏测试
- 4.
break 与 continue 有什么区别?
循环不是让代码重复,而是让重复工作只写一次。