用户:
Planet_Cube查看:0 回复:1 评论:0 创建时间:2021-11-07T16:26:10
【作品展示】

【作品介绍】
杨辉三角,又叫帕斯卡系数三角,由(a+b)^n(n为正整数常数,a,b为任意实数)得到。手动计算杨辉三角是非常困难的,所以我编写了这个程序。
鄙人编程技术不佳,各位dalao看看就好~
【作品源代码】
# 注:输入必须为列表形式!
# 由于计算机的编程法则是从0开始的,而且这也符合数学规则,所以在使用时请一定要注意
# 定义杨辉三角产生下一行的规则
def row_next(row):
new_row = [1] # 给定初始数,杨辉三角的默认起点是1
for i in range((len(row) - 1)): # 遍历上一行
new_row.append((row[i] + row[(i + 1)])) # 产生新行
new_row.append(1) # 加上新行的“尾巴”
return new_row # 得到结果
# 生成整个杨辉三角(由于在外国它叫帕斯卡三角所以我给它命名为pascal_tr)
def pascal_tr(row):
num_list = [[1]] # 给定初始行
for i in range(row): # 重复所需要的行数
num_list.append(row_next(num_list[-1])) # 添加新行
return num_list # 得到矩阵形式的杨辉三角
# 单独获取杨辉三角的一行
def get_row_PT(row):
return pascal_tr(row)[row]
# 单独获取杨辉三角一行的一个数
def get_num_PT(row, column):
return pascal_tr(row)[row][column]
# 测试一下
print(row_next([1,4,6,4,1])) # 结果为[1, 5, 10, 10, 5, 1]
print(pascal_tr(10)) # 结果为[[1], [1, 1], ···, [1, 10, 45, ···, 10, 1]]
print(get_row_PT(12)) # 结果为[1, 12, 66, ···, 220, 66, 12, 1]
print(get_num_PT(12, 9)) # 结果为220
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn