我应该写一个程序来改变一个字符串,如果这个位置号不是质数,但我似乎不知道如何使第一个位置,例如位置2,素数,并使其余可以被2整除的位置变成N。下面是我目前所拥有的,我是一个int错误。如果有人能帮我,我会非常感激的。谢谢你
while True:
number = int(input("Enter a number greater than 10: "))
if number < 10:
print("Invalid input. Try again")
else:
break
n_list = ["P"] * (number + 1)
n_list[0] = "N"
n_list[1] = "N"
for i in range(n_list):
if int(n_list[i]) % 2 == 0:
n_list[i] = "N"
print(n_list)
我不想给你家庭作业的答案,但我确实想帮忙,所以我会给你一点指导。在
我看到你提供的有两个问题。首先,您使用的变量范围不正确。你想要的是一个数字,而不是一个列表。在
其次,你不能比较“p”是否是2的等分。您只能检查数字是否为。在
希望这有帮助,祝你好运。在
编辑:为了澄清,有更多的问题,但这两个会给错误。在
首先,您可能会得到一个错误,因为range是一个整数,而不是生成器,请尝试使用}。至于问题的解决方法,你不需要从2循环到n,有一个更聪明的方法。但我们在这里并不是要为你们解决这个问题,只是引导你们找到你们可能向我们展示的最终错误。就这样说,祝你好运!在
for i in n_list
或{附言: 多一点指导 Sieve of Eratosthenes
编辑: 我指的错误是
相关问题 更多 >
编程相关推荐