在Python 3.7中打印上下颠倒的直角三角形

时间:2019-03-07 19:35:19

标签: python

我一直试图在Python 3.7中打印一个倒置的直角三角形。这是我写的代码:

n=4
for i in range (0, n):
    for j in range(0,n):
        print("*", end="")
        n-=1
    print()

根据我对循环的了解,嵌套的for循环应迭代n次,而外部for循环则迭代一次。按照该逻辑,列循环应打印四个星号,然后每次循环都应减少一个星号,因为n的值减少一。

但是我得到的输出是这样:

****

我不明白自己在做什么错。

编辑:我知道并了解解决此问题的替代方法。只是我不明白为什么这段特定的代码无法正常工作。

1 个答案:

答案 0 :(得分:3)

使用*运算符构建字符串会更好。

n = 4
for i in range(n):
    print('*' * (n-i))

输出:

****
*** 
**
*