我有两个函数,根据另一个函数的输入来计算动物的数量。我想知道这个函数的行为。如果我输入20个头和56条腿,我最终得到8头猪和12只鸡。但也有疑问。你知道吗
def solve(numLegs, numHeads):
for numChick in range(0, numHeads + 1): #we have got 12 chickens here?
numPigs = numHeads - numChicks
totLegs = 4 * numPigs + 2* numChicks
if totLegs == numLegs:
return [numPigs, numChicks]
return[None, None]
def barnYard():
heads = int(raw_input('Enter number of heads:'))
legs = int(raw_input('Enter number of legs:'))
pigs, chickens = solve(legs, heads)
if pigs = None:
print 'there is no solution'
else:
print 'number of pigs:' , pigs
pirnt 'number of chickes:', chickens
我被困在这里了。如果我们得到for循环行中的鸡的数量,那么我们可以继续计算猪的数量,对吗?但是我们怎么才能得到12只鸡呢?请考虑我的输入数量
只是一个for循环,它将从
0
循环到numHeads + 1
。如果numHeads
是10,它将从0循环到10,如果numHeads
是100,它将从0循环到100请参阅python for循环函数:https://wiki.python.org/moin/ForLoop
对于range函数:https://docs.python.org/2/library/functions.html#range
例如
每次循环时,
numchick
取相应的值,即numchick
将取从0开始的所有值:0、1、2。。。,人头对于range(y,z)中的x,将创建一个循环,该循环迭代(最多)y-z次,并将range()生成的值赋给x
在第一次、第二次、第三次等迭代中,x将是0、1、2等
https://docs.python.org/2/library/functions.html#range range(start,stop[,step])以步长为增量生成从开始到停止(包括在内)的编号列表。(可以省略Start和step,默认分别为0和1。)
将返回范围[0,numHeads+1] 如果numHeads是5那么
是生产出来的。你知道吗
来自python手册关于range:
这是一个多功能函数,用于创建包含算术级数的列表。它最常用于for循环。参数必须是纯整数。示例:
相关问题 更多 >
编程相关推荐