当前位置:首页>python>30天学Python|第 5 天:用循环告别重复代码

30天学Python|第 5 天:用循环告别重复代码

  • 2026-09-05 15:25:24
30天学Python|第 5 天:用循环告别重复代码

如果需要输出 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

场景
推荐循环
重复 10 次
for
遍历一组数据
for
猜对答案才结束
while
输入退出命令才结束
while

基础练习

  1. 1. 输出 1~20。
  2. 2. 输出 1~100 中所有偶数。
  3. 3. 计算 1~100 的总和。
  4. 4. 输出九九乘法表中的某一行。
  5. 5. 让用户不断输入数字,输入 0 时结束。

今日项目:猜数字游戏

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 次,并在失败后公布正确答案。

查漏测试

  1. 1. range(1, 5) 会产生哪些数字?
  2. 2. for 与 while 分别适合什么场景?
  3. 3. 无限循环通常是怎样产生的?
  4. 4. break 与 continue 有什么区别?
  5. 5. 累计变量为什么通常要在循环外初始化?

循环不是让代码重复,而是让重复工作只写一次。

最新文章

随机文章