【发布时间】:2020-10-01 19:06:35
【问题描述】:
所以我正在创建这个让用户输入大于 2 的数字的函数。 然后代码应该打印从 2 开始到用户输入的数字结束的所有素数。
这是我的代码,它可以工作(耶!)
def enterNumber():
number = int(input("Enter a number greater than 2"))
lower = 2
upper = number
for number in range (lower, upper):
if number > 2:
for i in range (2, number):
if (number % i) == 0:
break
else:
if (number % i) != 0:
print(number)
enterNumber()
如果用户输入 18,这是我的输出
"Enter a number greater than 2"
user puts "18"
output: 3
5
5
5
7
7
7
7
7
9
11
11
11
11
11
11
11
11
11
13
13
13
13
13
13
13
13
13
13
13
15
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
为什么我的输出会重复?任何建议将不胜感激!
【问题讨论】:
-
您可以逐行浏览代码,包括所有循环,例如用数字 5。这样你就可以找到这种错误。