问题陈述

给定一个数字列表和一个数字k,返回列表中是否有两个数字加起来等于k。



给定[1, 2, 3]k = 5return True2 + 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/

10-12 02:52
查看更多