<div>
</div>
<pre><code>#function description
def getMoneySpent(keyboards, drives, b):
q = []
for i in range(len(keyboards)):
for j in range(len(drives)):
q.append(keyboards[i] + drives[j])
for m in range(len(q)):
if(q[m] > b):
q.remove(q[m])
else:
pass
if q is not None:
return max(q)
else:
return -1
</code></pre>
<p>错误消息是:</p>
<pre><code>Traceback (most recent call last):
File "Solution.py", line 42, in <module>
moneySpent = getMoneySpent(keyboards, drives, b)
File "Solution.py", line 15, in getMoneySpent
if(q[m] > b):
IndexError: list index out of range
</code></pre>
<p>不断收到此错误消息。这是hackerrank中的一个问题。我将链接以下内容,以供任何需要进一步参考的人使用:</p>
<p><a href="https://www.hackerrank.com/challenges/electronics-shop/problem" rel="nofollow noreferrer">https://www.hackerrank.com/challenges/electronics-shop/problem</a></p>
<p>您可以尝试以下方法:</p>
<pre><code>def getMoneySpent(keyboards, drives, b):
q = []
for k in keyboards :
for d in drives :
price = k + d
if price <= b :
q.append(price)
return max(q) if q else -1
</code></pre>
<p>与其删除元素,不如先不添加它们</p>