使用 'for' 循环打印 Python 中的图案

To print a pattern in Python using 'for' loop

我尝试了各种程序来获得所需的模式(如下所示)。最接近要求结果的程序如下:

输入:

for i in range(1,6):
    for j in range(i,i*2):
        print(j, end=' ')
    print( )

输出:

1 
2 3 
3 4 5 
4 5 6 7 
5 6 7 8 9 

所需输出:

1
2 3
4 5 6
7 8 9 10 

我可以得到一些提示以获得所需的输出吗?

注意 - python 的新手。

将打印的值存储在循环外,然后在打印后递增

v = 1
lines = 4
for i in range(lines):
    for j in range(i):
        print(v, end=' ')
        v += 1
    print( )

如果您不想跟踪计数并以数学方式解决此问题并能够直接计算任何第 n 行,那么您正在寻找的公式就是 triangle numbers:

triangle = lambda n: n * (n + 1) // 2
for line in range(1, 5):
    t = triangle(line)
    print(' '.join(str(x+1) for x in range(t-line, t)))
# 1
# 2 3
# 4 5 6
# 7 8 9 10