擅长:python、mysql、java
<pre><code>x = [1,2,3,-5]
def first_neg(list):
count = 0
for number in list:
count += 1 #moved it outside of the if
if number < 0:
return count
print(first_neg(x)) #prints 4
</code></pre>
<p>你想增加<code>count</code>不是在找到答案时,而是在每次<code>forloops</code>循环时。注意,这个方法返回<code>4</code>,它是列表中的第四项,而不是索引,列表的索引从0开始,所以访问它应该是<code>3</code>。以我们的列表<code>x = [1,2,3,-5]</code>,<code>-5</code>位于列表的第四个插槽中,但是要访问它,我们必须调用<code>x[3]</code>,因为列表从0开始索引。在</p>
<p>如果要返回找到第一个负数的列表的索引,请尝试以下操作:</p>
^{pr2}$
<p>这是因为enumerate创建了列表中的项的“配对”,它是当前计数。Enumerate每次从列表中获取项时,从0开始计数。在</p>
<p>我也不想让你知道我的答案是什么。不要给变量命名关键字,比如list,tuple,int,str。。。只是一个坏主意和坏习惯,你可以看到它的作用,但它也会引起问题。在</p>