関数として定義した数式がいくつかあります。
次に、特定のパラメーターを使用してそれらに「名前を付け」ました。これは、出力をさらに数式で使用する必要があるためです。これにより、より簡単できれいになります。
ここで、定義された関数をループして、1 年間の各月の出力を得る必要があります。関数の名前を while ループに入れると、1 つの答えが 12 回繰り返されますが、それが機能するループへの完全な機能。
関数の名前を使用して関数をループできる方法はありますか?数式が進行するにつれて、数式がますます複雑になり、コードが忙しくて混乱するためです。
def growPOP(p, T, r, K):
#formula to calculate the new population at the end of a month.
#p = initial population, T = total initial population
#r = growth rate per time, K = carrying capacity
GrPp = p + ((p * r)*((K - T) / K))
return(GrPp)
def rt(a, b, t):
#formula to calculate growth rate for brown fish
#a & b are constants given, t = the month number
rt = a + (b*sin(((2*pi)*t)/12))
return rt
ca = 0.052
cb = 0.132
brownPOP = 19000
goldPOP = 4400
totalPOP = brownPOP + goldPOP
carryK = 104800
redcarryK = 0.998
newcarryK = (carryK*redcarryK) + (ep/10) #ep is an input figure - for now it's 0.
month = 1
brownGrowth = growPOP(brownPOP, totalPOP, rt(ca, cb, month), carryK)
while month <= 2:
print "Month ", month
print "Grown brown fish: ", growPOP(brownPOP, totalPOP, rt(ca, cb, month), carryK)
brownPOP = endbrownPOP
goldPOP = endgoldPOP
totalPOP = endtotalPOP
carryK = newcarryK
month = month + 1
したがって、上記のループでは、必要な出力が正確に得られますが、実際には、ループで「print "Grown brown fish: ", brownGrowth" と言って、まだ機能することを望んでいます。
BrownPOP を endbrownPOP にする数式は他にもありますが、かなりの数の数式があり、機能するので、複雑にするためにそれらを入力する必要はないと思いました。