def triangles(x, y): if y == 1 or y == x: # y=1或y=x时,函数返回值为1 return 1 else: z = triangles(x-1, y-1) + triangles(x-1, y) # y为其他值时的递推公式 return z if __name__ == "__main__": n = int(input("请输入杨辉三角的行数:")) for i in range(1, n+1): # 输出n行 for j in range(0, n-i+1): print(" ", end=" ") for j in range(1, i+1): # 调用递归函数,输出第i行的第j个值 print("%6d " %(triangles(i, j)), end=" ") print()