首页 > 解决方案 > 在 python 中打印一个直角三角形,从输入 n 开始,行 n

问题描述

我在 python 中打印一个应该看起来像这样的数字的直角三角形:

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

我可以使用嵌套循环打印直角三角形,但我无法弄清楚如何向后打印数字我只能让它从 0...n 开始工作

代码:

for row in range(1, lastNumber):
    for column in range(1, row + 1):
        print(column, end=' ')
    print("")

标签: pythonloopsprinting

解决方案


来自 python 文档range

类范围(开始,停止[,步骤])

如果省略 step 参数,则默认为 1。如果省略 start 参数,则默认为 0。如果 step 为零,则引发 ValueError。

对于正步骤,范围 r 的内容由公式 r[i] = start + step*i 确定,其中 i >= 0 且 r[i] < stop。

对于负步长,范围的内容仍然由公式 r[i] = start + step*i 确定,但约束条件是 i >= 0 和 r[i] > stop。

在你的情况下,你会想说

for row in range(lastNumber, 1, -1):

range您可以在https://docs.python.org/3/library/stdtypes.html?highlight=range#range查看更多信息。


推荐阅读