使用while循环的帕斯卡数

时间:2019-09-10 06:50:06

标签: python-3.x

我需要打印帕斯卡号

1
1 1 
1 2 1
1 3 3 1

import math
i = 0
j = 1
while j<6:
    while i<6:
        print(int(math.factorial(5)/(math.factorial(i)*math.factorial(5-i))), end="  ")
        i += 1
    print(int(math.factorial(j)/(math.factorial(i)*math.factorial(j-i))))
    j += 1

有人说阶乘不能为负,尽管我不认为它为负。

1 个答案:

答案 0 :(得分:1)

看看这段代码,即使您可以使其变得漂亮

,它也会提供正确的输出

n = 5

for j in range(1, n + 1):
    row = 1
    for i in range(1, j + 1):
        print(row)
        row = row * (j - i) // i
    print(" ")

我们知道,三角形行中的ith项是(j,i)的二项式系数,并且所有行都必须以数字1开头,这就是为什么这样做的原因。当然,我们进行整数除法。

您可以视需要将for循环替换为while循环。