博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python生成器实现杨辉三角
阅读量:5058 次
发布时间:2019-06-12

本文共 861 字,大约阅读时间需要 2 分钟。

花了几乎半小时,写出了一个关于计算杨辉三角的函数,然而对答案时,又发现活到老,学到老

没错,triangles()函数是我写的,而triangles1()则是另一位写的。

我说一下我写的函数里我踩的坑:
要想复制列表L为R后,L和R各自修改互不影响,就得这样复制R = L[:]。否则:

>>> L = [1,2,3,4,5]>>> R=L>>> L.append(6)>>> L[1, 2, 3, 4, 5, 6]>>> R[1, 2, 3, 4, 5, 6]>>> R.append(0)>>> R[1, 2, 3, 4, 5, 6, 0]>>> L[1, 2, 3, 4, 5, 6, 0]

这里是代码:

def triangles():    n = 3    yield [1]    yield [1,1]    L = [1,1]    while True:        R = L[:]        L = []        for i in range(n):            if (i < n-1) and (i > 0):                L.append(R[i]+R[i-1])            else:                L.append(1)        yield L        n += 1def triangles1():    L=[1]    yield L    while True:        L=[1]+[L[x]+L[x+1] for x in range(len(L)-1)]+[1]        yield Ln=0for t in triangles1():    print(t)    n = n + 1    if n == 20:        break

版权:保留所有解释权。转发请注明出处。


转载于:https://www.cnblogs.com/busui/p/7215327.html

你可能感兴趣的文章
java对象的深浅克隆
查看>>
Hadoop流程---从tpch到hive
查看>>
数据结构3——浅谈zkw线段树
查看>>
Introduction to my galaxy engine 2: Depth of field
查看>>
V2019 Super DSP3 Odometer Correction Vehicle List
查看>>
Python 3.X 练习集100题 05
查看>>
今时不同往日:VS2010十大绝技让VS6叹服
查看>>
设计器 和后台代码的转换 快捷键
查看>>
在线视频播放软件
查看>>
用代码生成器生成的DAL数据访问操作类 基本满足需求了
查看>>
28初识线程
查看>>
Monkey测试结果分析
查看>>
Sublime Text 3 设置
查看>>
浅谈C++底层机制
查看>>
STL——配接器、常用算法使用
查看>>
第9课 uart
查看>>
Range和xrange的区别
查看>>
BZOJ 1010 [HNOI2008]玩具装箱 (斜率优化DP)
查看>>
java-动态规划算法学习笔记
查看>>
STL容器之vector
查看>>