Python 上的数字三角形

Triangle of numbers on Python

我被要求编写一个打印以下内容的循环系统:

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

但是,我的脚本打印如下:

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

0 1 2 3 4 5 6 7 


0 1 2 3 4 5 6 
# ... and so on

要修复的代码是:

for row in range(10):
    for column in range(row):
        print ''
    for column in range(10-row):
        print column,

你的循环太多了,你只需要两个:

for row in range(10):
    for column in range(10-row):
        print column,
    print("")

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

或者从未来导入打印,这将适用于 python2.7 和 3:

from __future__  import print_function

for row in range(10):
    for column in range(10-row):
        print(column,end=" ")
    print()

如果你想要一个班轮,你可以使用连接:

print("\n".join([" ".join(map(str,range(10-row))) for row in range(10)]))

您也可以在 python 3.x:

中尝试这个
num = 9 
for a in range(num, -1, -1): 
    for b in range(0, a + 1):
        print(b, end=' ')
    print()