# 依据杨辉三角递归的性质求出每行的数值列表
def Yang_Hui_Triangle(row):
triangle = [1] # 初始化杨辉三角
if row == 0: # 所求行数为零,直接返回
return triangle
else: # 所求行数不为零,递归计算杨辉三角第n行的数值
return [x+y for x, y in zip([0] + Yang_Hui_Triangle(row - 1), Yang_Hui_Triangle(row - 1) + [0])]
# 打印输出杨辉三角
def printout(row):
for i in range(row): # 利用循环依次打印输出杨辉三角的每一行
list=Yang_Hui_Triangle(i) # 定义列表list存储第i行的杨辉三角
NumList=[] # 定义空列表NumList
for j in range(len(list)): # 依次遍历列表list的每个元素
NumList.append(str(list[j])) # 将杨辉三角的第i行列表中的数字依次转换为字符串,随后添加至NumList列表
string=" ".join(NumList) # 将NumList列表的每个元素以空格为分隔连接起来
print(string.center(100)) # 打印输出第i行的杨辉三角
if __name__=="__main__":
row=int(input("请输入需要打印的杨辉三角行数:"))
printout(row)
杨辉三角(含代码)
最新推荐文章于 2024-06-24 18:59:22 发布
该博客展示了如何利用Python的递归性质来计算并打印杨辉三角的每一行。代码中定义了两个函数,`Yang_Hui_Triangle`用于计算指定行的杨辉三角数值列表,`printout`则用于格式化输出。用户可以输入行数,程序会输出相应行数的杨辉三角形。这是一个关于Python编程和递归算法的实例。
1786

被折叠的 条评论
为什么被折叠?



