用python打印一个直角三角形,从输入n开始,行n
我正在用python打印一个直角三角形的数字,应该是这样的:用python打印一个直角三角形,从输入n开始,行n,python,loops,printing,Python,Loops,Printing,我正在用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("") 从范围的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("")
从
范围的python文档中:
课程范围(开始、停止[、步骤])
如果省略步骤参数,则默认为1。如果省略start参数,则默认为0。如果步骤为零,则引发ValueError
对于正阶跃,范围r的内容由公式r[i]=start+step*i确定,其中i>=0和r[i]
对于负步骤,范围的内容仍然由公式r[i]=start+step*i确定,但约束条件是i>=0和r[i]>stop
在你的情况下,你会想说
for row in range(lastNumber, 1, -1):
有关范围的更多信息,请参见。检查文档,其中有步骤
参数,允许您传递每个步骤的增量。因此,在代码中使用它的正确方法是:
for row in range(lastNumber):
for column in range(lastNumber, lastNumber - row - 1, -1):
print(column, end=" ")
print("")
还有两个一行程序,它们的作用相同:
print("\n".join(" ".join(map(str, range(5, 4 - n, -1))) for n in range(5)))
print(*(" ".join(map(str, range(5, 4 - n, -1))) for n in range(5)), sep="\n")
提示:范围是范围(开始、停止、步进)
;开始可以高于停止,步骤可以取负整数