Python素数列表
输入: 7. 输出: 2. 3. 5. 5. 5. 7. 7. 7. 7. 7. 我想要的输出: 2. 3. 5. 7. 添加更多详细信息以通过错误: 看起来你的帖子大部分都是代码;请添加更多详细信息。您正在为每个不除以它的j值打印i,直到得到一个确实除以它的值并执行break 只有在不跳出循环的情况下才能打印i。将else:语句放在for循环上,而不是if。此else:语句在循环正常完成而不是中断时执行Python素数列表,python,Python,输入: 7. 输出: 2. 3. 5. 5. 5. 7. 7. 7. 7. 7. 我想要的输出: 2. 3. 5. 7. 添加更多详细信息以通过错误: 看起来你的帖子大部分都是代码;请添加更多详细信息。您正在为每个不除以它的j值打印i,直到得到一个确实除以它的值并执行break 只有在不跳出循环的情况下才能打印i。将else:语句放在for循环上,而不是if。此else:语句在循环正常完成而不是中断时执行 integer = int(input("Enter an integer: ")) if
integer = int(input("Enter an integer: "))
if integer >= 2:
print(2)
for i in range(2, integer + 1): # range 2,3,...,integer (excludes 1)
for j in range(2, i): # we are going to try dividing by these
if i % j == 0: # not prime
break
else: # is prime
print(i)
对于j的每一个不除以它的值,都要打印i,直到得到一个除以它的值,然后执行break
只有在不跳出循环的情况下才能打印i。将else:语句放在for循环上,而不是if。此else:语句在循环正常完成而不是中断时执行
integer = int(input("Enter an integer: "))
if integer >= 2:
print(2)
for i in range(2, integer + 1): # range 2,3,...,integer (excludes 1)
for j in range(2, i): # we are going to try dividing by these
if i % j == 0: # not prime
break
else: # is prime
print(i)
将printi放入外部for循环,并带有跟踪结果的标志
对于范围2中的i,整数+1:范围2,3,…,整数不包括1
isPrime=True
对于范围2中的j,我们将尝试除以这些
如果i%j==0:
isPrime=False
打破
如果是iPrime:
普林蒂
将printi放入外部for循环,并带有跟踪结果的标志
对于范围2中的i,整数+1:范围2,3,…,整数不包括1
isPrime=True
对于范围2中的j,我们将尝试除以这些
如果i%j==0:
isPrime=False
打破
如果是iPrime:
普林蒂
你的逻辑有点错误。我在下面添加了正确的代码和注释:
for i in range(2, integer + 1): # range 2,3,...,integer (excludes 1)
for j in range(2, i): # we are going to try dividing by these
if i % j == 0: # not prime
break
else: # is prime
print(i)
你们所做的是,为从2到i的每一个j打印i,这个j没有除以i。但相反,当从2到i的j中没有一个除以i时,必须做的是只打印一次i
希望您理解错误,这消除了您的疑虑 你的逻辑有点错误。我在下面添加了正确的代码和注释:
for i in range(2, integer + 1): # range 2,3,...,integer (excludes 1)
for j in range(2, i): # we are going to try dividing by these
if i % j == 0: # not prime
break
else: # is prime
print(i)
你们所做的是,为从2到i的每一个j打印i,这个j没有除以i。但相反,当从2到i的j中没有一个除以i时,必须做的是只打印一次i
希望您理解错误,这消除了您的疑虑