首页 > 解决方案 > 有没有办法用for循环打印这样的数字

问题描述

我想编写一个可以输出如下结果的代码:

123456
 23456
  3456
   456

以及关于我想要多少层,我需要使用输入法,但我无法得到我想要的结果。

我试过这个:

layers = int(input('layers: '))

for i in range(1,layers+1):
    for j in range(1,i+1):
        print('123456',end ="")
    print('')   

我无法弄清楚我在哪里做错了,输出很奇怪。

标签: pythonloopsinput

解决方案


尝试这个。您可以向后迭代range

layers = int(input('layers: '))

for i in range(layers,0,-1):
    print(' '*(layers-i),end='')
    for j in range(1,i+1):
        print(j,end ="")
    print('')   

推荐阅读