三角形中的数字 0 到 9

digits 0 to 9 in a triangle

我在 python 编程课程介绍中需要一个任务的帮助,它需要一个代码,该代码将使用两个 'for-loops' 打印以下内容,其中一个是嵌套的:

0

0 1

0 1 2

0 1 2 3

0 1 2 3 4

0 1 2 3 4 5

0 1 2 3 4 5 6

0 1 2 3 4 5 6 7

0 1 2 3 4 5 6 7 8

0 1 2 3 4 5 6 7 8 9

到目前为止我已经想出了以下代码,但是我的数字三角形从数字 1 而不是 0 开始:

for i in range(-1,9):
    print ('\n')
    for i in range (int(i+1)):
        j = i+1
        print (j, end=' ')

谁能告诉我应该怎么做才能让我的数字列表从 0 而不是 1 开始?还有关于如何使我的代码更具可读性的任何建议吗?谢谢

保持您的代码结构,以下将起作用:

for i in range(-1, 10): # you need 10 so that the triangle goes up to 9
    print("\n")
    for j in range(i + 1):
        print(j, end=" ")

结果:

0 

0 1 

0 1 2 

0 1 2 3 

0 1 2 3 4 

0 1 2 3 4 5 

0 1 2 3 4 5 6 

0 1 2 3 4 5 6 7 

0 1 2 3 4 5 6 7 8 

0 1 2 3 4 5 6 7 8 9

使用range时,如果要包含最后一个整数,需要加一。考虑到这一点,我认为以下内容是有道理的:

for i in range(9+1):  # +1 since you want the loop to include 9
    for j in range(i+1):  # +1 since you want your print to include i
        print (j, end=' ')
    print ('\n')

print(\n) 语句可以在 j for 循环之前或之后,尽管输出会略有不同。 (也许因为我习惯了机械打字,所以我认为 \n 是完成一行而不是为新一行做准备,但两者都是合理的。)

我不喜欢从 -1 开始的想法,因此您可以稍后添加 1。它过于复杂,是初学者的坏习惯。