我该如何打印这个?

2024-09-28 05:15:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着教自己使用pythoninteractivepython.org网站. 我遇到了一个我想不通的问题。我有正确的坡度和间距。我需要它每次少打印一个数字。有人能帮一个新手吗?。。。你知道吗

我写的代码:

numLines = 10

for i in range(numLines):

    for k in range(i):
        print(' ', end = ' ')

    for j in range(1, numLines):
        print(j, end = ' ')

    print()

    print(" ")

印刷品:

1 2 3 4 5 6 7 8 9 

  1 2 3 4 5 6 7 8 9 

    1 2 3 4 5 6 7 8 9 

      1 2 3 4 5 6 7 8 9 

        1 2 3 4 5 6 7 8 9 

          1 2 3 4 5 6 7 8 9 

            1 2 3 4 5 6 7 8 9 

              1 2 3 4 5 6 7 8 9 

                1 2 3 4 5 6 7 8 9 

                  1 2 3 4 5 6 7 8 9

要打印:

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

Tags: 代码inorgfor网站range数字end
3条回答

好吧,上面的答案很好。但这是我做事的方式。。。:)

代码:

l = map(str,range(0,10))
for i in range(10):
    print ' '.join(l[:len(l)-i]).rjust(20)  

输出:

 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  

希望这有帮助:)

这个怎么样

numLines = 10
for i in range(numLines):
    print "".join ("  " for j in range(i)) + " ".join (str(j) for j in range(numLines - i))

输出

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

试试这个:

numLines = 10

for i in range(numLines, 0, -1):
    for j in range(0, numLines - i):
        print " ",
    for k in range(0, i):
        print k,
    print

相关问题 更多 >

    热门问题