如何使用嵌套for循环在python中打印出以下模式?

如何使用嵌套for循环在python中打印出以下模式?,python,Python,如何使用嵌套for循环打印出以下图案?所以你不必为它写10个循环 1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30 4 8 12 16 20 24 28 32 36 40 5 10 15 20 25 30 35 40 45 50 6 12 18 24 30 36 42 48 54 60 7 14 21 28 35 42 49 54 63 70 8 16 24 32 40 48 56 6

如何使用嵌套for循环打印出以下图案?所以你不必为它写10个循环

1 2 3 4 5 6 7 8 9 10

2 4 6 8 10 12 14 16 18 20

3 6 9 12 15 18 21 24 27 30

4 8 12 16 20 24 28 32 36 40

5 10 15 20 25 30 35 40 45 50

6 12 18 24 30 36 42 48 54 60

7 14 21 28 35 42 49 54 63 70

8 16 24 32 40 48 56 64 72 80

9 18 27 36 45 54 63 72 81 90

10 20 30 40 50 60 70 80 90 100

只需增加你的步长

for stepSize in range(10):
    for count in range(10):
        print((count + 1) * (stepSize + 1), end=" ")
    # count loop has ended, back into the scope of stepSize loop
    # We are also printing(" ") to end the line
    print(" ")
# stepSize loop has finished, code is done
说明:
首先,外部循环增加了我们的步长,然后对于每个步长,我们计算10个步长,并在外部for循环中打印(“”)时完成该行。

我将这样做:

 for x in range (1,11):
    product = []
    for y in range (1, 11):
        current_product = x * y
        product.append(current_product)
    print(*product, sep=' ')

这将是最难解释的答案之一,但我很高兴尝试写一行:

num_rows = 10
print '\n\n'.join(' '.join(str(i) for i in range(j,(num_rows+1)*j)[::j]) for j in range(1,num_rows+1))
输出:

1 2 3 4 5 6 7 8 9 10

2 4 6 8 10 12 14 16 18 20

3 6 9 12 15 18 21 24 27 30

4 8 12 16 20 24 28 32 36 40

5 10 15 20 25 30 35 40 45 50

6 12 18 24 30 36 42 48 54 60

7 14 21 28 35 42 49 56 63 70

8 16 24 32 40 48 56 64 72 80

9 18 27 36 45 54 63 72 81 90

10 20 30 40 50 60 70 80 90 100
选中它,
range(j,(num_rows+1)*j)[::j]
为每一行生成整数,其中
j
在行号范围内(根据您的要求,从索引1开始)。
[::j]
部分提供列表中的每个
j
元素。然后,内部join语句从整数列表中构造行字符串,每个整数由一个空格
'
分隔。外部联接通过将整数行与
\n\n
组合来构造最终输出,这是一个双新行,用于在每行整数之间放置一个空行


我认为其他解决方案更具可读性,但这一个很有趣。

这里使用的
+1
s是因为for循环将从0开始,而您似乎不希望这样。您应该在1st print语句中添加
end
参数<代码>打印((i+1)*(步长+1),end=“”)我不知道如何解释您的代码。我知道对于步长范围(10):允许您从0打印到9。我不明白范围(10)中的for是什么意思:在它上面的for循环中。为什么输出的公式等于(i+1)*(步长+1)?@YolandaHui我将逐行分解。此外,我还更改了变量名以使其更清晰。第一行是一个简单的
,用于从0-9开始的
循环计数,如果我们将
+1
添加到其中,我们将得到1-10,这是所需的步长(您希望先增加1,然后增加2,然后增加3,以此类推)。第二个
for
循环将从0-9一次又一次地运行,我们需要向其添加
+1
,因为您希望从1-10开始计数,而不是从0-9开始计数。这里的第二个循环将针对每个步长运行一次(因为它位于循环的
stepSize
内部)。@YolandaHui最后,在这个内部循环中,我们将
stepSize
乘以
计数以获得您的列表。e、 g.
1,2,3,…,10
,然后for循环的下一个
步长
迭代给出
2,4,6,…,20
,依此类推。
end=“”
简单地说,行将在给出
打印(“”
时结束,这是我们在
步长的末尾所做的,我的回答对您有帮助吗?如果你需要更多的帮助,我们可以把它带进聊天室是的,但我仍然不明白乘法部分是如何工作的。对于第一次迭代:print((0+1)*(0+1),end=“”)打印出1到10。但是第二次迭代:print((1+1)*(1+1,end=”“)?关闭!第一部分将是
print((0+1)*(0+1))
=1,然后只增加计数,步长保持不变,因为我们仍然没有完成内部for循环,所以下一个数字是
print((1+1)*(0+1))
=2。然后
print((2+1)*(0+1))
=3,依此类推……最后我们达到
print((9+1)*(0+1)
=10,然后在步长循环中完成10的第一次迭代。然后我们开始下一次迭代,但这次步长要大一点。例如
print((0+1)*(1+1))
=2,然后
print((1+1)*(1+1))
=4,然后
print((2+1)*(1+1))
=6.看到了吗?我现在看到了,谢谢!太好了!如果你喜欢我的答案,请不要忘记投票/接受我的答案,以帮助其他人在将来搜索相同的东西!