我目前正在做一项家庭作业,以生成所谓的 Pascal's triangle在Python中。
到目前为止,这就是我所拥有的:
def mytri(myrange):
trianglevar = [[1]]
for i in range(1, myrange):
tempvar = [1]
for n in range(0, i-1):
tempvar.append(trianglevar[i-1][n]+trianglevar[i-1][n+1])
tempvar.append(1)
trianglevar.append(tempvar)
return trianglevar
def mymenu():
for i in mytri(int(raw_input("Please enter the height of the triangle: "))):
print i
print '\n'
choicevar = raw_input("Would you like to create another triangle? (y/n): ")
if choicevar == "y":
mymenu()
else:
print "Goodbye."
mymenu()
到目前为止,程序所做的是执行三角形的计算。它计算每一行中的数字(从1开始),并在达到用户指定的行数后停止。
但是,我不确定如何格式化我的三角形。目前打印为:
[1]
[1, 1]
[1, 2, 1]
[1, 3, 3, 1]
[1, 4, 6, 4, 1]
...etc.
我想要的输出是:
[1]
[1, 1]
[1, 2, 1]
[1, 3, 3, 1]
[1, 4, 6, 4, 1]
...etc.
(由于括号/逗号,这有点偏离,但我现在只是想弄清楚一般格式。)
感谢您提供的任何帮助!
最佳答案
h = int(raw_input("Please enter the height of the triangle: "))
for i in mytri(h):
print " " * (h * 2), i
h -= 1
所以这里为金字塔的每一层打印 2 个空格。第一行缩进两倍高度的空格数。当您下降一级时,缩进量会减少 2。
关于python - 格式化帕斯卡三角形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4140908/