基本上我試圖在列表中找到2個元素,並將它們加在一起給出正確的總和。如何遍歷列表並比較兩個數字之間的總和,最後用最接近的索引分組返回答案?
實施例:
aList = [1,5,6,3,8,9,4] sum = 10
現在上述條件我會想到2個結果:
[1, 9] and [6, 4]
答案應該是[6,4],因爲它們是彼此最接近。 1到9需要採取4個步驟,而[6,4]只需要採取3.最短的索引差異。
我的代碼如下,它不會對上面的例子中工作:
def sum_pairs(ints, s):
for i in ints:
for b in ints[i:]:
if i + b == s:
return [i,b]
else:
return None
那麼你會怎麼最接近指數之間具有了寫另一回路檢查?
您是否收到任何錯誤消息? – lkdhruw
如果我沒有弄錯,問題不在於代碼在執行失敗的意義上「不起作用」;問題是它返回第一個「工作」對,而不是最接近的... – Archeo
@Archeo是的,你是正確的,它的工作原理,但不返回最接近的索引對。謝謝你澄清。 –