私は現在、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.
(括弧/コンマのために少しずれていますが、現在、一般的な形式を取り込もうとしています。)
あなたが提供できる助けをありがとう!