猫史档案馆


【Python作品分享】杨辉三角【作品秀】

用户:Planet_CubePlanet_Cube查看:0 回复:2 评论:0 创建时间:2021-12-12T09:13:47


【作品展示】

center_image

 

【作品介绍】

继上一个作品增加了输出字符串的功能,更加便于理解!

 

【作品源代码】

# 注:输入必须为列表形式!
# 由于计算机的编程法则是从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]

# 以便于理解的字符串形式输出杨辉三角(我在此把差1原则调整了,便于理解)
def out_tr(row):
    tr = pascal_tr(row)
    out = ''
    for i in range(row):
        out += '第' + str(i+1) + '行:'
        for j in range(i+1):
            if j == i and i == row-1:
                out += str(tr[i][j]) + '.'
            elif j == i:
                out += str(tr[i][j]) + ';'
            else:
                out += str(tr[i][j]) + ', '
        out += '\n'
    return out

# 以便于理解的字符串形式输出杨辉三角的一行(我在此把差1原则调整了,便于理解)


def out_row(row):
    r = get_row_PT(row-1)
    out = '第' + str(row) + '行:'
    for i in range(row):
        if i == row-1:
            out += str(r[i]) + '.'
        else:
            out += str(r[i]) + ', '
    return(out)

# 测试一下(可自行修改)
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
print(out_tr(5))
print(out_row(10))

# 结尾
print('如果喜欢的话点个赞吧,我会后续推出更多内容!')

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
半生梦寐半生梦寐

center_image

点赞0


评论


半生梦寐半生梦寐

center_image

点赞0


评论