# 依据杨辉三角递归的性质求出每行的数值列表
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)
Python输出等腰杨辉三角
于 2021-10-11 23:59:49 首次发布