擅长:python、mysql、java
<p>首先,只调用<code>next</code>一次,而不是每次迭代都调用它。第二,每次迭代都不会更新行。此外,您的部分和与<code>yield</code>是互换的。我通过将对<code>next</code>的调用放在while循环中,并在其外部初始化<code>pascal</code>生成器来修复这些问题。最后,你的数目有点少,我也修正了。正确代码如下:</p>
<pre><code>def generate_bernoulli():
pascal = generate_pascal()
while True:
row=next(pascal)
n=len(row)
row=[sum(row[0:i+1]) for i in range(n)]
yield row
</code></pre>