三角形

时间:2015-07-25 14:52:54

标签: python nested-loops nested-lists

我在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开始?还有关于如何使我的代码更具可读性的任何建议?感谢。

2 个答案:

答案 0 :(得分:2)

使用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。这是一个过分复杂的习惯,也是一个从初学者开始的坏习惯。

答案 1 :(得分:0)

保持代码结构,以下内容将起作用:

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