Python素数列表

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

输入:

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 >= 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

希望您理解错误,这消除了您的疑虑