【发布时间】:2022-01-07 17:02:11
【问题描述】:
我的素数查找代码正在尝试所有数字,因此它会打印几次素数。例如:5/2、5/3、5/4。所以它会打印 5 次 3 次。
def prime_number_generator(num):
for n in range (1,num):
for prime in range (2,n):
if (n%prime) ==0:
break
else:
yield n
number = input('Please input the number:')
if number.isnumeric():
num = int(number)
if num <= 2:
print('Number must be greater than 2')
else:
for prime in prime_number_generator(num):
print(prime, end=', ')
else:
print('Must be a positive integer')
输入为 27 的输出:
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, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 21, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
23, 23, 23, 23, 23, 23, 23, 23, 25, 25, 25,
【问题讨论】: