def solve(numLegs, numHeads):
for numSpiders in range(0, numHeads + 1):
for numChicks in range(0, numHeads - numSpiders + 1):
numPigs = numHeads - numChicks - numSpiders
totLegs = 4*numPigs + 2*numChicks + 6*numSpiders
if totLegs == numLegs:
return [numPigs, numChicks, numSpiders]
return [None, None, None]
def barnYard(heads, legs):
pigs, chickens, spiders = solve(legs, heads)
if pigs == None:
print "There is no solution."
else:
print 'Number of pigs: ', pigs
print 'Number of Chickens: ', chickens
print 'Number of Spider: ', spiders
barnYard(20,56) # 8 pigs - 12 chickens
barnYard(21,62) # 10 pig - 11 chickens
20個頭和56個腿返回8頭豬和12只雞,所以我讓它增加了一隻蜘蛛21和62,但它仍然返回豬和雞,代碼中出現了什麼錯誤?一個簡單的例子中的意外結果
謝謝!
倒不是說在你的代碼中的錯誤,但蜘蛛有八條腿:) – 2009-10-15 14:25:49