本章我们将通过一些典型例题来巩固循环结构程序设计。
第1关:倒数之和
任务描述
本关任务:编程求和,N为自然数:
结果以浮点数f输出显示。
测试说明
平台会对你编写的代码进行测试:
测试输入: 请输入一个正整数:5
预期输出: 2.283333
代码解析
我在这里用了一个函数来求输入数据的倒数:
def f(x):
return 1/x
n = eval(input("请输入一个正整数:"))
result = 0
for i in range (1,n+1):
result += f(i)
print("{:.6f}".format(result))
第2关:能被3或5整除的数
任务描述
编程,输出[1,N]区间内能被3或5整除的数,要求每行输出5个数,数与数之间以水平制表符分隔,并且输出总个数
测试说明
平台会对你编写的代码进行测试:
测试输入: 100
预期输出:
3 5 6 9 10
12 15 18 20 21
24 25 27 30 33
35 36 39 40 42
45 48 50 51 54
55 57 60 63 65
66 69 70 72 75
78 80 81 84 85
87 90 93 95 96
99 100
共计47个
代码解析
n = eval(input())
c = 0
for i in range(1,n+1):
if i%3==0 or i%5==0:
c += 1
print(i,end = "\t")
if c%5 == 0:
print()
print()
print(f"共计{c}个")
这里一定要注意:每个数之间相隔一个缩进。还要注意换行操作
第3关:素数判断
任务描述
本关任务:编程,判断某数是否为素数,该数从键盘输入。
测试说明
平台会对你编写的代码进行测试:
测试输入: 请输入一个正整数:19
预期输出: 19是素数!
测试输入: 请输入一个正整数:9
预期输出: 9不是素数!
代码解析
n = eval(input("请输入一个正整数:"))
if n < 2:
print(f"{n}不是素数!")
else:
for i in range(2,int(n/2)+1):
if n%i == 0:
print(f"{n}不是素数!")
break
else:
print(f"{n}是素数!")
第4关:判断完数
任务描述
本关任务:编程,判断一个数是否是完数。 完数,一般指完全数,一个自然数如果它的所有真因子(即除了自身以外的约数)的和等于该数,那么这个数就是完全数, 如:6的真因子有1 、2、3,6=1+2+3,所以6是一个完全数。
测试说明
平台会对你编写的代码进行测试:
测试输入: 6
预期输出: 6是完数。
测试输入: 36
预期输出: 36不是完数。
代码解析
n = eval(input())
result = 0
for i in range(1,n):
if n%i == 0:
result += i
if result == n:
print(f"{n}是完数。")
else:
print(f"{n}不是完数。")