2016-06-11 4 views
-1

現在、以下のコードは機能していますが、病気の要因とそれに伴った人口のトリガーが必要です。基本的には、少年とセーナイルは病気の影響を受けることがありますが、一度全体の人口がユーザーによって設定された「トリガーポイント」に達すると、私は母集団が満足しないwhileループに余分な節を置くかのように、これをどうやって行うのか分からず、別のwhileループを作成することもできますが、世代/カウンタは機能しません。 ところで、コードの冒頭にあるものは、私が使っているクラスのものと関係しているだけです。無視してください。あなたのwhileループ内whileループは同時に発生しますか? PYTHON

print ("This is where you run the python model") 

adult_population = Gen0.adult_population 
birth_rate = Gen0.birth_rate 
juvenile_population = Gen0.juvenile_population 
juvenile_survival = Gen0.juvenile_survival 
adult_population = Gen0.adult_population 
adult_survival = Gen0.adult_survival 
senile_population = Gen0.senile_population 
senile_survival = Gen0.senile_survival 
disease = Gen0.disease 
disease_trigger = Gen0.disease_trigger 
generations = Gen0.generations 

counter = 0 


while counter < generations: 

    new_juvenile_population = adult_population * birth_rate 
    new_adult_population = juvenile_population * juvenile_survival 
    new_senile_population = (adult_population * adult_survival) + (senile_population * senile_survival) 
    new_total = new_juvenile_population + new_adult_population + new_senile_population 

    print("Juveniles:" ,new_juvenile_population) 
    print("Adults:" ,new_adult_population) 
    print("Seniles:" ,new_senile_population) 
    print("Total population:" ,new_total) 

    juvenile_population = new_juvenile_population 
    adult_population = new_adult_population 
    senile_population = new_senile_population 

    counter += 1 

答えて

1

ただ、ifブロック内疾患の影響を考慮したコードの行を入れてそれ以外の通常の人口は、whileループの各反復の間に、通常の人口の更新をやり続けるんが、それらをブロックifの外に保管してください。

if juvenile_population + adult_population + senile_population >= trigger: 
    # account for the disease here 

私はあなたが求めていると思います。

関連する問題