我是编程的新手,仍然对逻辑深有感触。我为您准备的代码有效:它产生前N个质数。即,如果用户输入10,则代码将产生所有包含10的素数。顺便说一下,这是一个分配问题。我的教授就是这样布置的。
此外,如果我没有正确显示我的代码,请给我一些有关如何执行此操作的有用提示。我不知道什么是篱笆,但是如果有帮助,我会在每行缩进4个空格。
我在调试模式下单步执行此代码,并注意到j的值从未超过2或3。为什么不呢?
n = int(input("Please enter the number up to which you want to find prime
numbers: "))
count = 0
if n > 1:
for i in range(2, n + 1):
isPrime = True # set flag to True
for j in range(2, i // 2 + 1):
if i % j == 0:
isPrime = False
break
if isPrime:
print(i, "is a prime number.")
count += 1
else:
print("Prime numbers must be greater than 1.")
print(count, "prime numbers have been found.")
没有我可以检测到的错误消息。