如何摆脱以下代码输出开头的零点?

时间:2014-08-04 16:35:34

标签: python python-2.7

for i in range(7,0,-1):
    for i in range(i-1):
        print i,
    print

以上代码打印:

0 1 2 3 4 5
0 1 2 3 4
0 1 2 3
0 1 2
0 1
0

我想摆脱前4行中的零。

1 个答案:

答案 0 :(得分:2)

将范围设为1而不是默认值0:

for i in range(1, i-1):
    print i,

而不是范围为i - 1,调整外部循环以生成正确的值,但增加终点;产生1到1或1到0的范围几乎没有意义。

for i in range(6, 1, -1):
    for i in range(1, i):
        print i,
    print

这样可以避免在最后打印太多空白换行符:

>>> for i in range(6, 1, -1):
...     for i in range(1, i):
...         print i,
...     print
... 
1 2 3 4 5
1 2 3 4
1 2 3
1 2
1

你也可以使用print i + 1而不是从1开始;在这种情况下,递减外部循环中的值:

for i in range(5, 0, -1):
    for i in range(i):
        print i + 1,
    print