2016-06-11 13 views
-1

Momentan funktioniert der Code unten, aber ich sollte einen Krankheitsfaktor und eine Bevölkerungszahl auslösen, um damit zu gehen. Grundsätzlich können Jugendliche und Senioren von Krankheit betroffen sein, jedoch nur, wenn die Gesamtbevölkerung einen vom Nutzer eingestellten "Triggerpunkt" erreicht. Ich bin nicht sicher, wie dies zu tun ist, als ob ich eine zusätzliche Klausel auf die While-Schleife setzen würde, die die Bevölkerung nicht befriedigt, ich könnte eine andere While-Schleife erstellen, aber dann wird die Generation/Counter-Sache nicht funktionieren. Übrigens, das Zeug am Anfang des Codes hat mit dem Klassenkram zu tun, den ich benutze, ignoriere es einfach.Gleichzeitige While-Schleifen? 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 

Antwort

1

In Ihrem while Schleife setzen nur die Codezeilen, die innerhalb eines if Block für die Beeinflussung der Erkrankung berücksichtigen, da sonst die üblichen Bevölkerung tun halten während jeder Iteration der while-Schleife die normale Bevölkerung Update zu tun, aber Halten Sie sie außerhalb des if Blocks.

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

Ich vermute, das ist, was Sie gefragt haben.

Verwandte Themen