没有在python中获取正确的数字traingle

时间:2016-02-24 13:02:51

标签: python

我想打印一些数字三角形。请看下面的代码。任何人都可以告诉我在下面的代码中出了什么问题吗?

x=0
while x<10:
    y=x
    while (y >= 0):
         print y,
         y=y-1
    print x
    x=x+1

输出:

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

要求o / p:

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

由于

2 个答案:

答案 0 :(得分:5)

您在每行结尾处获得额外的号码,因为您在不需要时打印x。我假设你有那个print语句,所以你可以在不同的结果行之间强制换行。如果您只想将光标向下移动一行,则可以使用不带参数的print

x=0
while x<10:
    y=x
    while (y >= 0):
        print y,
        y=y-1
    print
    x=x+1

答案 1 :(得分:2)

只需将print x更改为print即可。这将输出换行而不打印x的值,这是不需要的数字来自的地方:

x=0
while x<10:
    y=x
    while (y >= 0):
         print y,
         y=y-1
    print
    x=x+1

输出结果为:

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