验证给定的输入并打印每个质数 =< 给定的输入。(蟒蛇)



所以我读了很多关于这类问题的解决方案,但它们似乎都太复杂了,或者我在其中找不到任何有用的解决方案。

我已经编写了第一部分,其中我必须要求输入并验证它是一个整数,但我不知道如何编写第二部分的代码。效率在这里不是必要的,但我认为如果我从一开始就学会最有效的方法会更好。从我读到的内容来看,使用输入的根并检查除数是实现这一目标的方法,但正如我所说,我不知道如何真正编写代码并将其集成到我现有的代码中。

while True:
x = str(input("Please enter an integer:  "))
try:
x = int(x)
except ValueError:
print("Please enter a valid integer: ")
continue

break

非常感谢您的帮助!

最好在问题中编辑多行代码,而不是发布评论,因为这样你就不局限于一行了。

您的代码似乎是:

def is_prime2(n):
if n == 2 or n == 3:
return True
#endif
if n % 2 == 0 or n < 2:
return False
#endif
for i in range(3, int(n**0.5)+1, 2):
if n % i == 0:
return False
#endif
#endfor
return True
#enddef
print(n)

我添加了一些评论,以表明我认为各种发言的结尾。我可能把缩进从一行转换错了。

除了print(n)(它不是函数定义的一部分或在return之后(之外,这似乎可以正常工作。对于n的非常大的值,它将太慢,尽管对于较小的值和测试它将是好的。对于非常大的值,请查看埃拉托斯尼筛。

编写一个isPrime(n)函数,如果n是素数,则返回true,否则返回false。然后测试从2到输入整数的所有数字,看看它们是否是素数。

我们将帮助您改进代码,但您必须先编写代码。

相关内容

  • 没有找到相关文章