# Barn yard example: counting heads and legs
def solve(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]
def barnYard(heads, legs):
pigs, chickens = solve(legs, heads)
if pigs == None:
print "There is no solution."
else:
print 'Number of pigs: ', pigs
print 'Number of Chickens: ', chickens
barnYard(20,56)
我认为预期结果是8和12,但它返回“没有解决方案”。我做错什么了?你知道吗
我只是刚开始编程,所以请友善点。。。:)
在
solve()
中,return语句缩进到for循环中。退后一级,它应该工作得很好。你知道吗看看你的压痕。
return [None, None]
在循环内。它在第一次迭代后返回[None, None]
相关问题 更多 >
编程相关推荐