Python教程

Python 实现杨辉三角

本文主要是介绍Python 实现杨辉三角,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

方法一:

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

for i in range(a):
    # 只有 1 行或者 2行
    if 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)

运行结果:

10
[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]

方法二:

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

for i in range(a):
    print(list1)
    list1.append(0)
    list2 = list1
    list1 = [list1[j]+list1[j-1] for j in range(i+2)]

这里涉及到列表推导式
列表推导式可以快速生成一个列表。语法格式如下:
在这里插入图片描述
列表推导式最终的目的是为了改造输入序列。for 后面的变量,表示输入序列里的元素;输出表达式,是产生最终列表的元素的计算公式;可选的判断表达式,可以对输入序列里的元素进行筛选。

例子:

list1 = [x*3 for x in range(1, 5)]
print(list1)

结果:

[3, 6, 9, 12]
这篇关于Python 实现杨辉三角的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!