这就是我到目前为止得到的结果,当没有这样的值时,我如何让它返回False呢?
def pairSum(l, s):
a = 0
b = 1
for i in l:
if l[a]+l[b] == s:
return True
a=a+1
b=b+1编辑:我刚刚意识到这个函数只能找到两个相加到s的连续数字。我的目的是创建一个函数来确定列表中的任何两个数字是否相加为s,而不是两个连续的数字。对于误导性的信息,我深表歉意。
发布于 2019-02-04 11:29:06
f = lambda x,y: x+y
def func(l, s):
for i in range(len(l)-1):
if f(l[i],l[i+1]) == s:
return True
return False如果列表的两个连续数字相加得到s,否则返回False,则返回True。
如果您想检查l中任意两个数字的相加是否与s相加,那么
from itertools import combinations
def sumPairs(l, s):
for a, b in combinations(lst, 2):
if a+b == s:
return True
return False https://stackoverflow.com/questions/54509774
复制相似问题