所以我想做的是用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
如果有人想看看我到底想完成什么,这是我的解决方案
太好了,这个蓝色三角形:
通过“n 选择 k”变成帕斯卡三角形:
我试图弄清楚 for 循环,这样我就可以完成基本设置(这是蓝色三角形),你们帮助了:)
所以我想出的获得 n 选择 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 选择 k 公式中的感叹号,我使用以下代码制作了公式的其余部分:
factorial(rows) / (factorial(col)*factorial(rows-(col)))
因此,任何大于 0 的 n 都会构成一个帕斯卡三角形 :)