python:对列表中的两个数字求和
这就是我到目前为止得到的结果,当没有这样的值时,如何使它返回Falsepython:对列表中的两个数字求和,python,python-3.x,Python,Python 3.x,这就是我到目前为止得到的结果,当没有这样的值时,如何使它返回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,而不是两个连续的数字。很抱歉提供了误导性的
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,而不是两个连续的数字。很抱歉提供了误导性的信息
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
你在哪里写的“返回错误”声明?你的程序不能返回它,除非它有它。另外,在代码中使用“range”函数怎么样?并使用列表中的索引解析值。将“return False”放在缩进匹配的for循环之后。请更详细地解释您试图归档的内容。您能提供更详细的信息吗?您想做什么?从这个问题中我所知甚少的是,您想验证给定的和等于列表中的两个并发元素吗?我试图确定列表l中是否有一对数字添加到sDo,您是否尝试使用
enumerate()为范围(len(l))
中的I找到与值s相加的任何组合放弃该值看起来很奇怪。如果将范围设置为len-1
,则可以避免尝试:。。。除了:…
block。这将在第一次检查失败时返回False,而不是检查所有值。