【杨辉三角python】

杨辉三角实现方法(Python)

一、杨辉三角是什么?

杨辉三角,是二项式系数在三角形中的一种几何排列,中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。在欧洲,帕斯卡(1623----1662)在1654年发现这一规律,所以这个表又叫做帕斯卡三角形。

在这里插入图片描述

杨辉三角的性质:
1.每行首位数字都是1
2.每行中间的各项数字都是它肩上两个数字的和
3.第n行的数字有n个
4.第n行的项数总比第n-1行多一个

二、杨辉三角解法

1.二维数组:

代码如下(示例):

a = int(input())
list1 = [1]

for i in range(a):
    # 只有 1 行或者 2if i == 0:
        print(list1)
    elif i == 1:
        list1.append(1)
        print(list1)
    else: # 3行以上
        list2 = []
        for j in range(i+1):
            if j == 0:
                list2.append(1)
            elif j == i:
                list2.append(1)
            else:
                list2.append(list1[j]+list1[j-1])
        list1 = list2
        print(list1)

运行结果:

[1]
[1, 1]
[1, 2, 1]
[1, 3, 3, 1]
[1, 4, 6, 4, 1]
[1, 5, 10, 10, 5, 1]
[1, 6, 15, 20, 15, 6, 1]
[1, 7, 21, 35, 35, 21, 7, 1]
[1, 8, 28, 56, 70, 56, 28, 8, 1]
[1, 9, 36, 84, 126, 126, 84, 36, 9, 1]

2.定义法:
先给出一个空列表,通过循环先进行追加列表,在对列表进行修改

代码如下(示例):

n = eval(input())
triangle = []
for i in range(n):
    cur = [1]
    triangle.append(cur)    
    if i == 0:
        continue
    pre = triangle[i-1]
    for j in range(i-1):
        cur.append(pre[j] + pre[j+1])
    cur.append(1)
print(triangle)

运行结果:

5
[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]

进程已结束,退出代码0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值