如何在for循环的一行中放置多个数字

时间:2018-11-11 21:23:33

标签: python for-loop

for i in range(2, 101):
if i > 1: # Prime numbers are greater than 1
    for j in range(2, i):
        if (i % j) == 0:
            print(i,"is a composite number")
            break
        else:
            print(i,"is a prime number")

程序运行如下:

2 is a prime number 3 is a prime number 4 is a composite number 5 is a prime number 6 is a composite number 7 is a prime number 8 is a composite number 9 is a composite number 10 is a composite number ...

我的问题是:如何将合成数字放在同一行上,将质数放在一行上

换句话说,如何做这样的事情:

4,6... is all composite numbers

2,3,5... is all prime numbers

1 个答案:

答案 0 :(得分:1)

您可以将它们存储在列表中:

primes = []
composites = []
for i in range(2, 101):
    if i > 1: # Prime numbers are greater than 1
        for j in range(2, i):
            if (i % j) == 0:
                composites.append(i)
                break
        else:
            primes.append(i)

print("Composites: ", *composites)
print("Primes: ", *primes)

其中唯一花哨的部分是splat。通过在print("Composites: ", *composites)上加上*,我们可以在没有[]括号的情况下进行打印。

礼物:

Composites:  4 6 8 9 10 12 14 15 16 18 20 21 22 24 25 26 27 28 30 32 33 34 35 36 38 39 40 42 44 45 46 48 49 50 51 52 54 55 56 57 58 60 62 63 64 65 66 68 69 70 72 74 75 76 77 78 80 81 82 84 85 86 87 88 90 91 92 93 94 95 96 98 99 100
Primes:  2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97