python程序关于函数的输出不正确

python程序关于函数的输出不正确,python,Python,我想计算出一系列的核弹和核弹。 我输入slove(20,56),但答案是None。 你能告诉我我的程序出了什么问题吗?应该可以 def slove(numLegs, numHeads): for numChicks in range(0, numHeads + 1): numPigs = numHeads - numChicks totLegs = 4*numPigs + 2*numChicks if totLegs == numLegs:

我想计算出一系列的核弹和核弹。 我输入slove(20,56),但答案是None。 你能告诉我我的程序出了什么问题吗?

应该可以

def slove(numLegs, numHeads):
    for numChicks in range(0, numHeads + 1):
        numPigs = numHeads - numChicks
        totLegs = 4*numPigs + 2*numChicks
        if totLegs == numLegs:
            return [numPigs, numChicks]
        return [None, None]

将return[None,None]置于循环外部

def slove(numLegs, numHeads):
    for numChicks in range(0, numHeads + 1):
        numPigs = numHeads - numChicks
        totLegs = 4*numPigs + 2*numChicks
        if totLegs == numLegs:
            return [numPigs, numChicks]
    return [None, None]