资讯专栏INFORMATION COLUMN

使用python生成杨辉三角形

Zoom / 3570人阅读

摘要:杨辉三角杨辉定义如下把每一行看做一个,试写一个,不断输出下一行的复制一个,这样才不会影响到原有的。不然里的每个列表的末尾会为

杨辉三角杨辉 定义如下:

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

把每一行看做一个list,试写一个generator,不断输出下一行的list:

def triangles():
    L = [1]
    while True:
        yield L
        
        M=L[:]#复制一个list,这样才不会影响到原有的list。不然results里的每个列表的末尾会为0.
        M.append(0)
        L = [M[i-1]+M[i] for i in range(len(M))] 
        
n =0
results = []
for t in triangles():
    
    print(t)
    results.append(t)
    print(results)
    n = n +1
    if n == 10:
        break

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/42328.html

相关文章

  • 关于求杨辉角形mn值的算法

    摘要:杨辉三角形,又称贾宪三角形帕斯卡三角形海亚姆三角形,是二项式系数在的一种写法,形似三角形,在中国首现于南宋杨辉的详解九章算术得名,书中杨辉说明是引自贾宪的释锁算术,故又名贾宪三角形。 杨辉三角形,又称贾宪三角形、帕斯卡三角形、海亚姆三角形,是二项式系数在的一种写法,形似三角形,在中国首现于南宋杨辉的《详解九章算术》得名,书中杨辉说明是引自贾宪的《释锁算术》,故又名贾宪三角形。 前9层写...

    zqhxuyuan 评论0 收藏0
  • [Leetcode] Pascal's Triangle 杨辉角形

    摘要:迭代法复杂度时间空间思路简单的按照杨辉三角形的规则计算就行了。代码加入第一个加入中间的数加入最后一个逆序相加法复杂度时间空间思路同样用迭代的方法,根据上一层的值算下一层,不过这里每一层都在同一个上操作。 Pascals Triangle I Given numRows, generate the first numRows of Pascals triangle. For examp...

    Berwin 评论0 收藏0
  • 杨辉角形(开方做法本源)

    摘要:简单做法打印空格请输入行数实现杨辉三角的算法效果杨辉三角形开方做法本源 简单做法#includeusing namespace std;#include#includevoid kongge(int n)//打印空格{ for (int i = 0; i < n; i++) { cout

    番茄西红柿 评论0 收藏2637
  • 程序员的算法趣题Q22: 不缠绕的纸杯电话

    摘要:假设有几个小朋友以相同间隔围成圆周,要结对用纸杯电话相互通话。如果绳子交叉,很有可能会缠绕起来,所以结对的原则是不能让绳子交叉。如下所示运行结果上一篇异或杨辉三角形下一篇禁止右转本系列总目录参见程序员的算法趣题详细分析和全解 目录 1. 问题描述 2. 解题分析 3. 代码及测试 1. 问...

    MoAir 评论0 收藏0
  • 给伸手党的福利:Python 新手入门引导

    摘要:如果你仍然无法抉择,那请选择,毕竟这是未来的趋势,参考知乎回答还是编辑器该如何选我推荐社区版,配置简单功能强大使用起来省时省心,对初学者友好。 这是一篇 Python 入门指南,针对那些没有任何编程经验,从零开始学习 Python 的同学。不管你学习的出发点是兴趣驱动、拓展思维,还是工作需要、想要转行,都可以此文作为一个参考。 在这个信息爆炸的时代,以 Python入门 为关键字搜索出...

    用户84 评论0 收藏0

发表评论

0条评论

Zoom

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<