第3课 循环结构——让程序会重复课后练习--小学信息科技Python程序设计

资源下载
  1. 二一教育资源

第3课 循环结构——让程序会重复课后练习--小学信息科技Python程序设计

资源简介

/ 让教学更有效 精品试卷 | 信息
第3课 课后练习
(学生用)
班级:____________ 姓名:____________ 得分:__________
一、填空(每空 3 分,共 27 分)
1.for i in range(1, 6): 中,i 依次取到的数是 ____________________,循环共执行 ______ 次。
2.range(5) 产生的数是 ____________________。
3.range(1, 10, 2) 产生的数是 ____________________。
4.range(5, 0, -1) 产生的数是 ____________________。
5.累加求和的变量初值一般设为 ______;累加求乘积的变量初值一般设为 ______。
6.total += i 等价于 total = ______________。
7.在 while 循环中,用来「跳出循环」的语句是 ______________。
二、判断对错(每题 3 分,共 12 分)
1.for i in range(1, 101): 会循环到 101。(  )
2.如果忘记写 total = 0,程序运行时可能会提示 NameError。(  )
3.while True: 会一直循环,必须有 break 或者条件变化才能停下来。(  )
4.for 循环适合「事先不知道要循环几次」的情况。(  )
三、★ 补全代码(每空 4 分,共 20 分)
第 1 题 求 1 加到 100 的和。
total = ①______
for i in range(1, ②______):
total ③______ i
print(total)
① ______ ② ______ ③ ______
第 2 题 求 1 到 n 中所有奇数的和。
n = int(input("请输入 n:"))
total = 0
for i in range(1, n + 1):
if i % 2 == ④______:
total += i
print(total)
④ ______(填数字)
第 3 题 求 10 的阶乘(1×2×3×…×10)。
ans = ⑤______
for i in range(1, 11):
ans *= i
print(ans)
⑤ ______
四、手算模拟题(10 分)
下面这段程序,请手动写出每一圈的变量值,最后输出什么?
total = 0
for i in range(1, 5):
total += i * i
print(total)
第几圈 i i×i total
1
2
3
4
最终输出:______________
五、★★ 编程题(每题 9 分,共 18 分)
第 1 题 求 1 到 100 中所有偶数的和。
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
第 2 题 输入 n 个数,求它们的平均数(保留 2 位小数)。提示:需要一个变量累加求和,最后除以 n。
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
六、★★★ 挑战题(13 分)
改写猜数字游戏。要求:
① 电脑随机出一个 1~100 的整数;② 玩家最多猜 7 次;③ 每次猜完提示「大了」或「小了」;④ 猜对了输出「猜对了,共猜 X 次」并结束;⑤ 7 次都没猜对,输出「机会用完,正确答案是 X」。
提示:可以用 import random 和 random.randint(1, 100)。
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
教师评语:
__________________________________________________________________
__________________________________________________________________
21世纪教育网 www.21cnjy.com 精品试卷·第 2 页 (共 2 页)
21世纪教育网(www.21cnjy.com)/ 让教学更有效 精品试卷 | 信息
第3课 课后练习
(答案版 · 教师用)
班级:____________ 姓名:____________ 得分:__________
一、填空(每空 3 分,共 27 分)
1.for i in range(1, 6): 中,i 依次取到的数是 ____________________,循环共执行 ______ 次。
2.range(5) 产生的数是 ____________________。
3.range(1, 10, 2) 产生的数是 ____________________。
4.range(5, 0, -1) 产生的数是 ____________________。
5.累加求和的变量初值一般设为 ______;累加求乘积的变量初值一般设为 ______。
6.total += i 等价于 total = ______________。
7.在 while 循环中,用来「跳出循环」的语句是 ______________。
二、判断对错(每题 3 分,共 12 分)
1.for i in range(1, 101): 会循环到 101。(  )
2.如果忘记写 total = 0,程序运行时可能会提示 NameError。(  )
3.while True: 会一直循环,必须有 break 或者条件变化才能停下来。(  )
4.for 循环适合「事先不知道要循环几次」的情况。(  )
三、★ 补全代码(每空 4 分,共 20 分)
第 1 题 求 1 加到 100 的和。
total = ①______
for i in range(1, ②______):
total ③______ i
print(total)
① ______ ② ______ ③ ______
第 2 题 求 1 到 n 中所有奇数的和。
n = int(input("请输入 n:"))
total = 0
for i in range(1, n + 1):
if i % 2 == ④______:
total += i
print(total)
④ ______(填数字)
第 3 题 求 10 的阶乘(1×2×3×…×10)。
ans = ⑤______
for i in range(1, 11):
ans *= i
print(ans)
⑤ ______
四、手算模拟题(10 分)
下面这段程序,请手动写出每一圈的变量值,最后输出什么?
total = 0
for i in range(1, 5):
total += i * i
print(total)
第几圈 i i×i total
1
2
3
4
最终输出:______________
五、★★ 编程题(每题 9 分,共 18 分)
第 1 题 求 1 到 100 中所有偶数的和。
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
第 2 题 输入 n 个数,求它们的平均数(保留 2 位小数)。提示:需要一个变量累加求和,最后除以 n。
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
六、★★★ 挑战题(13 分)
改写猜数字游戏。要求:
① 电脑随机出一个 1~100 的整数;② 玩家最多猜 7 次;③ 每次猜完提示「大了」或「小了」;④ 猜对了输出「猜对了,共猜 X 次」并结束;⑤ 7 次都没猜对,输出「机会用完,正确答案是 X」。
提示:可以用 import random 和 random.randint(1, 100)。
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
教师评语:
__________________________________________________________________
__________________________________________________________________
第 3 课 参考答案(教师用)
与《教师参考答案》册同源,全部数值均已实际运行核验
一、填空
1.1, 2, 3, 4, 5;5 次 2.0, 1, 2, 3, 4 3.1, 3, 5, 7, 9 4.5, 4, 3, 2, 1
5.0;1 6.total + i 7.break
二、判断对错
1.  到 100 为止,不含 101(range 含头不含尾)
2.  忘记初始化累加变量会 NameError
3.  4.  for 适合次数已知,while 适合次数未知
三、★ 补全代码
① 0 ② 101 ③ +=
第 2 题 ④ 1 第 3 题 ⑤ 1
四、手算模拟题
total = 0
for i in range(1, 5):
total += i * i
第几圈 i i×i total
1 1 1 1
2 2 4 5
3 3 9 14
4 4 16 30
最终输出:30
五、★★ 编程题
第 1 题 1~100 偶数之和(结果 2550):
total = 0
for i in range(1, 101):
if i % 2 == 0:
total += i
print(total)
(注:2550 = 2+4+…+100。也可写成 range(2, 101, 2),更简洁,可作为提高讲评点。)
第 2 题 求平均数:
n = int(input("请输入个数:"))
total = 0
for i in range(n):
total += float(input("请输入一个数:"))
print(f"平均数是:{total / n:.2f}")
六、★★★ 挑战题 改写猜数字游戏
import random
target = random.randint(1, 100)
for i in range(7):
guess = int(input("猜1-100:"))
if guess > target:
print("大了")
elif guess < target:
print("小了")
else:
print(f"猜对了,共猜{i + 1}次")
break
else:
print(f"机会用完,正确答案是{target}")
提示:for ... else 属拓展语法,未学过可改用计数器:count += 1,循环外判断 if count == 7。
21世纪教育网 www.21cnjy.com 精品试卷·第 2 页 (共 2 页)
21世纪教育网(www.21cnjy.com)

展开更多......

收起↑

资源列表