if 和 else B. for 和 while C. break 和 continue D. try 和 except 答案:B 解析: 课程明确指出:Python 中可以用 for 和 while 实现循环结构,称为循环语句。break/continue 是循环内部的控制语句,不是实现循环结构的语句。for 循环,下列说法正确的是: A. 通常用于迭代次数未知的情况 B. 必须手动管理循环计数器,否则会形成无限循环 C. 通常用于已知迭代次数的情况,例如遍历可迭代对象,无须手动管理循环计数器 D. 不能用来遍历字符串 答案:C 解析: for 循环依次访问可迭代对象中的每个元素,无须手动管理循环计数器。A、B 描述的是 while 循环的特点;字符串是可迭代对象,可以用 for 遍历。while 循环必须手动设置和更新循环条件,让循环趋向于结束,否则会形成无限循环。 答案:√ 解析: 课程对 while 的说明正是:适用于迭代次数未知,根据条件决定是否继续;需要手动更新循环条件,否则会形成无限循环。break 时,会发生什么? A. 跳过当前循环的剩余代码,立即开始下一次循环 B. 当前循环立即停止,程序跳出循环体,继续执行循环之后的代码 C. 程序直接结束,不再执行循环之后的任何代码 D. 只跳过下一行语句,循环本身继续 答案:B 解析: break 用于提前终止循环:当前循环立即停止,跳出循环体,继续执行循环之后的代码。A 是 continue 的作用。for 循环直接遍历? A. 列表 ["apple", "banana", "cherry"] B. 字符串 "hello" C. 字典(可通过 person.items() 同时取出键和值) D. 只有事先用计数器算出长度的对象 答案:ABC 解析: 课程分别给出了遍历列表、字符串、字典的 for 示例。for 的特点正是无须手动管理循环计数器,D 错误。continue 语句会终止整个循环,使程序跳出循环体。 答案:× 解析: continue 只跳过当前这一轮循环体中尚未执行的代码,然后进入下一次循环判断;提前终止并跳出循环体的是 break。i += 1 的作用是什么?i = 1
s = 0
while i <= 100:
s += i
i += 1
print('1到100的和是:', s)
A. 可有可无,删掉后结果不变 B. 改变循环变量 i 的值,让循环趋向于结束 C. 把 s 清零 D. 使 i 永远保持为 1,形成无限循环 答案:B 解析: 变量 i 是循环变量。课程强调循环体中 i += 1 必不可少,作用是改变循环变量的值,让循环趋向于结束。若删掉它,i 一直为 1,条件 i <= 100 恒真,将形成无限循环。
for 循环与 while 循环的适用场景及关键差异。 答案: for 通常用于已知迭代次数的情况,例如遍历可迭代对象,依次访问每个元素,无须手动管理循环计数器。while 适用于迭代次数未知的情况,根据条件决定是否继续执行循环体,需要手动设置和更新循环条件,让循环趋向于结束,否则会形成无限循环。 解析: 评分要点:①点明 for 适合已知次数/遍历、无须手动计数;②点明 while 适合未知次数、必须更新条件;③提到无限循环风险。a = [8000, 9500, 12000, 15000]
for v in a:
if v > 10000:
print(v)
break
A. 8000 B. 12000 C. 12000 和 15000 各占一行 D. 没有任何输出 答案:B 解析: 与课程例 2-4 相同:找到第一个大于 10000 的工资后立即 break,后续元素不再访问。8000、9500 不满足条件;12000 满足,打印后退出,15000 不会被输出。
a = [501, 800, 1001, 1200]
for v in a:
if v % 2 == 1:
continue
v //= 2
print(v)
A.
501
800
1001
1200
B.
400
600
C.
800
1200
D.
250
400
500
600
答案:B 解析: 与课程例 2-5 相同:奇数执行 continue,跳过减半和 print。501、1001 为奇数被跳过;800、1200 为偶数,整除 2 后打印 400 和 600。注意打印的是减半后的循环变量,不是原列表中的偶数本身。
a 表示 4 行 4 列矩阵。请写出按行输出全部元素(元素之间用空格分隔)的嵌套循环程序,并说明内层循环代码的执行次数。给定:a = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]
答案: 外层循环控制行索引,内层循环控制列索引;外层每迭代一次,内层完整执行一遍。内层循环的代码共执行 4×4=16 次。程序如下:
a = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]
for i in range(4):
for j in range(4):
print(a[i][j], end=' ')
print()
运行后每行四个数字、以空格分隔,例如第一行为 1 2 3 4(行末因 end=' ' 会多一个空格),随后 print() 换行。 解析: 评分要点:①嵌套 for 且用 a[i][j];②end=' ' 实现空格分隔,内层结束后 print() 换行;③执行次数为 16;④代码可直接运行。