だから私がやろうとしているのは、forループを使ってPythonでこの「三角形」を作ることです:
しかし、次のようなテキストで:
0|0
1|01
2|012
3|0123
4|01234
私が現在持っている出力は次のとおりです。
0|01234
1|01234
2|01234
3|01234
4|01234
出力のコードは次のとおりです。
def pascal(n):
answer = ""
for rows in range(n):
answer = str(rows) + "|"
for col in range(n):
answer = answer + str(col)
print(answer)
pascal(5)
私の質問は、どうすれば出力にこれを実行させることができますか?(私は何をすべきかについて困惑しています):
0|0
1|01
2|012
3|0123
4|01234
私が一体何を達成しようとしていたのか誰かが知りたいなら、私の解決策はここにあります
Soooooooo、この青い三角形:
"n choose k" により、パスカル三角形に変わります。
forループを理解しようとしていたので、基本的なセットアップ(青い三角形)を完了できます。皆さんが助けてくれました:)
したがって、n choose k を取得するために思いついたコードは次のとおりです。
def factorial(n):
answer = 1
for number in range(2, n+1):
answer = answer * number
return answer
def pascal(n):
answer = ""
for rows in range(n):
answer = ""
for col in range(rows+1):
answer = answer + str( int(factorial(rows) / (factorial(col)*factorial(rows-(col)))) )
print(answer)
pascal(10)
factorial() は n choose k 式の感嘆符であり、式の残りの部分は次のコードで作成しました。
factorial(rows) / (factorial(col)*factorial(rows-(col)))
したがって、0より大きいnはパスカル三角形になります:)