我正在学习代码,我很难理解下面的代码是如何工作的。这段代码是一个函数,它提供了一个问题的解决方案,即给定一些头和腿,你有多少头和鸡。这些评论显示了我在哪里遇到了障碍谁能帮我解释一下这些障碍?我不知道代码是怎么起作用的。非常感谢!你知道吗
def solve(numLegs, numHeads):
for numChicks in range(0, numHeads + 1):
numPigs = numHeads - numChicks #So this says numPigs is equal to (5,4,3,2,1,0)
totLegs = 4*numPigs + 2*numChicks #I don't understand how the math is caluclated here.
#I'd assume this is equal to 4*(5,4,3,2,1,0) + 2*(0,1,2,3,4,5). But how does that calculate?
if totLegs == numLegs: #finally here, if totLegs is equal to a list, and so are numPigs, and numChicks
#how do you get one value for each??
print (numPigs, numChicks)
return (None, None)
solve(14,5)
不,不是这么说的。
for
循环的主体执行numHeads+1
次。在第一次执行时,numPigs
是5。在第二次执行时,它是4,依此类推。你知道吗不是,是个数字。你知道吗
假设你有p猪和c鸡,总共有p+c头,因为每只动物有一个头和4*p+2*c腿,因为每只猪有4条腿,每只鸡有2条腿。你知道吗
这导致了两个限制
在代码中:
循环查找鸡的数量(c)的可能值。所以numChicks按顺序取值1,2,3,等等。你知道吗
基于第一个约束进行计算。你知道吗
检查第二个约束是否成立
检查找到的值是否为预期值
相关问题 更多 >
编程相关推荐