由于位于杨辉三角形两个腰上的数都为 1,其他位置上的数等于它肩上两个数之和,基于杨辉三角形的这个特点,就可以使用二维数组打印出杨辉三角形。
例如,当行数为5时: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1
# 建立返回值为输入值m的阶乘的函数
def jc(p):
m = 1
for i in range(1, p + 1):
m = m * i
return m
# 建立计算某行某列元素值的函数函数
def C(n, k):
return jc(n) / (jc(k) * jc(n - k))
# 键盘输入杨辉三角的行数n
def printYH(lines):
for i in range(0, lines):
for j in range(0, i + 1):
print(int(C(i, j)), end=' ')
print('\n')
lines = eval(input('input the lines: '))
# 打印杨辉三角
printYH(lines)