擅长:python、mysql、java
<p>在索引和列表的实际元素方面存在一些逻辑错误。我用注释<code>#</code>突出显示了修改/添加的行。主要是,您需要将<code>idx</code>替换为<code>j</code>,因为<code>idx</code>是一个索引,而{<cd3>}是一个实际的元素。如果以<code>range(n)</code>开头,则无所谓,因为索引与<code>j</code>相同。但既然您在问题中提到,您想要存储从<code>1</code>到{<cd9>}的数字,那么您需要使用<code>range(1, n+1)</code></p>
<pre><code>def BooHoo(n):
main_list = []
for x in range(1,n+1): # replaced range(n) to start from 1
main_list.append(x)
for idx, j in enumerate(main_list):
if not (j % 3) and not (j % 5): # replaced idx by j
main_list.pop(idx)
main_list.insert(idx, 'BooHoo')
elif not (j % 3): # replaced idx by j
main_list.pop(idx)
main_list.insert(idx, 'Boo')
elif not (j % 5): # replaced idx by j
main_list.pop(idx)
main_list.insert(idx, 'Hoo')
else:
continue
return main_list # Removed unnecessary second list
# Call the function
print (BooHoo(15))
</code></pre>
<p><strong>输出</strong></p>
^{pr2}$