Python 杨辉三角

作者: teitiyuu | 来源:发表于2018-03-09 14:17 被阅读93次

廖雪峰Python学习网站上有一道试题 用方法实现杨辉三角,觉得很有趣,就尝试了一下,并期待看到更加简洁的方式。

杨辉三角的概念

          1
         / \
        1   1
       / \ / \
      1   2   1
     / \ / \ / \
    1   3   3   1
   / \ / \ / \ / \
  1   4   6   4   1
 / \ / \ / \ / \ / \
1   5   10  10  5   1

杨辉三角方法实现:

def triangles():
    lst = [1]
    while True:
        yield lst
        lst_tmp = []
        for i in range(len(lst)):
            try :
                lst_tmp.append(lst[i]+lst[i+1])
            except :
                lst_tmp.insert(0,1)
                lst_tmp.append(1)
                break
        lst = lst_tmp

测试用方法:

# 期待输出:
# [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]
n = 0
results = []
for t in triangles():
    print(t)
    results.append(t)
    n = n + 1
    if n == 10:
        break
if results == [
    [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]
]:
    print('测试通过!')
else:
    print('测试失败!')

相关文章

  • python实现杨辉三角

    使用python实现杨辉三角python教程-生成器 杨辉三角的特点:1.每行端点与结尾的数为12.每个数等于它上...

  • 用python实现杨辉三角

    来自廖雪峰官方网站python教程课后练习 用python实现杨辉三角: 测试用例如下:

  • python输出杨辉三角

    杨辉三角定义 今天学习到的一个python代码实现非常简洁网址如下:python 生成器对于像我这样python初...

  • Python 杨辉三角

    廖雪峰Python学习网站上有一道试题 用方法实现杨辉三角,觉得很有趣,就尝试了一下,并期待看到更加简洁的方式。 ...

  • Python --杨辉三角

    有两段循环,第一段控制行数。 第二个循环有意思,前后先加个一个 [ 1 ],然后在一次循环中等于a的第一个和后一个...

  • 杨辉三角-python

  • python杨辉三角

    直接上代码,也是网上找的,自己试了试,很好玩,记录一下: 定义一个函数,输入打印多少行: 调用: 打印的结果: 该...

  • Python杨辉三角

    杨辉三角,是二项式系数在三角形中的一种几何排列,在中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。在...

  • 杨辉三角——Python

    期待输出: [1] [1, 1] [1, 2, 1] [1, 3, 3, 1] [1, 4, 6, 4, 1] [...

  • Python 杨辉三角

    看廖大博客时候看到的一道题,在此记录一下 练习编写杨辉三角的实现,示例代码来自廖雪峰博客 期待输出: [1] [1...

网友评论

    本文标题:Python 杨辉三角

    本文链接:https://www.haomeiwen.com/subject/kbbpfftx.html