答案页 · 12 道题

Python for 循环练习答案

本页汇总 Python for 循环 的 12 道练习。先做练习页,再回到这里核对准确答案和原因。

快速答案

本答案页包含 Python for 循环 的 4 道选择题、4 道填空题和 4 道输出预测题,每题都给出准确答案和简短解释。

答案已完整展示,建议先尝试作答,再用本页核对。第一次练习最好从互动练习页开始。

01 · 选择题

range(3) 会产生哪些值?

  1. 0, 1, 2正确答案
  2. 1, 2, 3
  3. 3
  4. 0, 1, 2, 3

答案: 0, 1, 2

为什么: range(stop) 从 0 开始,不包含 stop。

02 · 选择题

在 for order in orders 中,循环变量会接收什么?

  1. 只有索引
  2. orders 的长度
  3. orders 中的每个值正确答案
  4. 整个列表的副本

答案: orders 中的每个值

为什么: for 循环会把可迭代对象中的每个元素依次赋给循环变量。

03 · 选择题

数字累加器应该在哪里创建?

  1. 循环体内部
  2. print 调用内部
  3. 循环之前正确答案
  4. 打印总价之后

答案: 循环之前

为什么: 累加器必须在第一次更新前存在,并在迭代之间保留。

04 · 选择题

代码的输出结果是什么?

print(list(range(2, 5)))
  1. 2, 3, 4
  2. [2, 3]
  3. [2, 3, 4]正确答案
  4. [0, 1, 2]

答案: [2, 3, 4]

为什么: range(2, 5) 从 2 开始,到 5 之前结束。

05 · 填空题

补全 range,使循环访问 0、1 和 2。

for i in range(____):
    print(i)

答案: 3

为什么: range(3) 会产生 0、1、2。

06 · 填空题

补全循环,使 order 依次访问 orders 中的每一项。

orders = ["拿铁", "摩卡"]
for order in ____:
    print(order)

答案: orders

为什么: in 后面放可迭代对象。

07 · 填空题

补全更新语句,使 total 每次增加 price。

for price in prices:
    total ____ price

答案: +=

为什么: total += price 是 total = total + price 的简写。

08 · 填空题

补全步长,使 range 产生 0、2 和 4。

print(list(range(0, 6, ____)))

答案: 2

为什么: range 的第三个参数是步长。

09 · 输出预测

屏幕上会显示什么?

print(list(range(3)))

答案: [0, 1, 2]

为什么: range(3) 产生 0、1、2;list 把它们显示在方括号中。

10 · 输出预测

这段代码会输出什么?

total = 0
for n in [2, 4, 6]:
    total += n
print(total)

答案: 12

为什么: 循环依次累加 2 + 4 + 6。

11 · 输出预测

运行结果是什么?

print([x * 2 for x in [1, 2, 3]])

答案: [2, 4, 6]

为什么: 列表推导式把每个元素乘以 2。

12 · 输出预测

这段程序打印出什么?

letters = []
for ch in "abc":
    letters.append(ch)
print("".join(letters))

答案: abc

为什么: 循环收集字符,join 再把它们合成一个字符串。

先试一遍题目

打开 Python for 循环 练习页,用即时反馈回答同样的 12 道题。

练习本课