擅长:python、mysql、java
<p>你不认为你在循环中的条件有缺陷吗。
只有当<strong><code>amount</code>小于1</strong>时,循环才会达到第三个条件,即<code>else</code>部分。</p>
<pre><code>if amount == 1:
print (FibonacciArray[0])
elif amount == 2 or amount > 2:
print (FibonacciArray[0])
print (FibonacciArray[1])
else:
while amount > 0:
# Remaining code
</code></pre>
<hr/>
<p>我假设您对这门语言相当陌生,而且您的许多代码似乎都是多余的或对输出毫无用处。</p>
^{pr2}$
<p>上面的内容将提供<code>IndexError</code>,因为您可以为现有索引赋值。可以将这三行替换为:</p>
<pre><code>FibonacciArray = [1, 1]
</code></pre>
<p>所以为了向列表添加一个新元素,可以使用<code>append()</code>方法。下面是您的代码的python替代方案。</p>
<pre><code>FibonacciArray = []
FibonacciArray.append(1)
FibonacciArray.append(1)
</code></pre>
<hr/>
<p>为了访问列表中的最后两个元素,您可以简单地使用negative index</strong>。</p>
<pre><code>>>> array = [1, 2, 3, 4, 5]
>>> array[-1]
5
>>> array[-2]
4
</code></pre>
<p>所以要找到Fibonacci级数的新元素,你可以</p>
<pre><code>FibonacciArray.append(FibonacciArray[-1] + FibonacciArray[-2])
print (FibonacciArray)
</code></pre>
<hr/>
<p><a href="https://codeshare.io/2WRwbG" rel="nofollow noreferrer">Here</a>是指向工作代码的链接。如果你需要帮助,请看一下。</p>