私は関数として定義した数式をいくつか持っています。変数の名前付きループの効率的なコーディング
私は、特定のパラメータを使用してそれらの名前を付けました。これを次の式で出力する必要があります。
今年の月の出力を与えるために定義された関数をループする必要があります。関数の名前をwhileループに入れると、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
は、したがって、上記のループの中で、それはまさに私が欲しいの出力を私に与えますが、私は本当にループは、「印刷 『栽培茶色の魚言いたい:』、brownGrowth」と、まだ動作します。
brownPOPをendbrownPOPにする他の数式がありますが、かなりの数があり、動作するので、複雑にするために入力する必要はないと思いました。私が正しくあなたを読んでいる場合
甘い!これはそれです:-) Thanks @nvuono! – newtopython
'brownGrowth = brownGrowth'行は何もしません。 –