首页 > 解决方案 > 如何在python中使用while?

问题描述

我应该只使用whileprint完成作业。我尝试了一种不同的方法来处理这个问题,但仍然卡住了。

预期输出:

          1
        2 1
      3 2 1
    4 3 2 1
  5 4 3 2 1
6 5 4 3 2 1

我得到的是:

          1
        1 2
      1 2 3
    1 2 3 4
  1 2 3 4 5
1 2 3 4 5 6

这是我的代码:

j = 1
i = 1
t = 6
x = 10
d = 1
while i <= 6:
    n = 1
    space = -3
    while space <= j:
        print(" " * x, end="")
        space += 1
        break
    while n <= i:
        print('%d '%n, end="")
        n += 1
    print("")
    i += 1
    x -= 2

标签: python

解决方案


你快到了。倒数就行;即更改以下行

n = 1

n = i

while n <= i:
    print('%d '%n, end="")
    n += 1

while n > 0:
    print('%d '%n, end="")
    n -= 1

还可以尝试单线解决方案以获得乐趣:

>>> print("\n".join([" " * (7 - i) * 2 + " ".join([str(x) for x in reversed(range(1, i))]) for i in range(2, 8)]))

推荐阅读