【发布时间】:2019-02-23 13:59:00
【问题描述】:
所以我正在制作一个帕斯卡三角形,但我无法弄清楚为什么这段代码不起作用。它打印出这样的东西
[]
[1]
[1, 2]
[1, 3, 3]
[1, 4, 6, 4]
[1, 5, 10, 10, 5]
[1, 6, 15, 20, 15, 6]
[1, 7, 21, 35, 35, 21, 7]
[1, 8, 28, 56, 70, 56, 28, 8]
[1, 9, 36, 84, 126, 126, 84, 36, 9]
这几乎是正确的,但是似乎这些值似乎是行号太高,所以 1,2 ,如果将 2 计为第一行,将 1 计为第 0 行,则 2 是 1 值太高,因为它在第一行,应该是 1,1。下一行应该是 1,2,1,第一个值是正确的,但是下一行是 1 的值太高,后面是 2 的值太高。
我尝试执行 append(a-i) 之类的操作,但它似乎不起作用,您如何才能正确打印?
def triangle(rows):
for rownum in range (rows):
newValue=1
PrintingList = list()
for iteration in range (rownum):
newValue = newValue * ( rownum-iteration ) * 1 / ( iteration + 1 )
PrintingList.append(int(newValue))
print(PrintingList)
print()
提前致谢。
【问题讨论】:
-
a是什么?你的意思是newValue? -
我会看看:en.wikipedia.org/wiki/…,它描述了如何逐一计算三角形的行。
标签: python