问题陈述
给定一个数字列表和一个数字k,返回列表中是否有两个数字加起来等于k。
例
给定[1, 2, 3]
和k = 5
,return True
自2 + 3 = 5
。
这是我尝试做的:
def pairs(n):
for i in range(len(n)):
for j in range(i+1, len()):
yield n[i], n[j]
def ListCheck():
number = input("Give me a number:")
val = int(number)
nums = [1,2,3]
for i, j in pairs(nums):
if j + i == val:
print(True)
break
ListCheck()
运行它时出现错误,我不明白为什么。
最佳答案
def issumoftwo(lst,num):
for x in lst:
for y in lst:
if x+y==num and lst.index(x)!=lst.index(y):
return True
return False
lst=[1,2,3]
num=int(input("Give me a Number: "))
print(issumoftwo(lst,num))
输出量
Give me a number: 5
True
关于python - 检查一个数字是否是另外两个数字的和,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53994982/