为了练习起见,我尝试用Python列表理解来表达Pascal's Triangle,并以迭代的方式来实现这一点。我在Python中将Pascal的三角形表示为:
tri = [[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1], ...]
当我迭代的时候,我需要以某种方式访问之前计算的三角形的线,我试图在不声明局部变量的情况下完成这项工作。在
到目前为止,我有这个:
^{pr2}$
有什么想法吗?在
编辑:正如@brc所指出的,这是一个关于如何和/或何时使用列表理解的糟糕例子。在
Tags:
遵守你强加给你自己的所有稍微有些疯狂的限制,我能想到的唯一的简化就是这里:
至少这比你的版本短,并且去掉了所有的条件表达式。当然还是很疯狂。在
您可以简单地使用binomial coefficients的定义: 在
由于需要显式迭代方法,所以我将使用迭代器。在
有了这个发电机,你可以
建立列表:
达到某个最大值:
。。。
相关问题 更多 >
编程相关推荐