基本上我试图在列表中找到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是的,你是正确的,它的工作原理,但不返回最接近的索引对。谢谢你澄清。 –