同步while循环?python

2024-06-19 19:26:26 发布

您现在位置:Python中文网/ 问答频道 /正文

目前下面的代码是有效的,但是我应该有一个疾病因素和一个人口数量触发器来配合它。基本上,青少年和老年人都会受到疾病的影响,但只有当总人口达到用户设定的“触发点”时。我不知道该怎么做,好像我在while循环中添加了一个额外的子句,但总体上不满足,我可以创建另一个while循环来使用,但是生成/计数器的事情就不起作用了。 顺便说一句,代码开头的内容与我正在使用的类有关,忽略它。在

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

Tags: 代码newratecounterbirthpopulationprintwhile
1条回答
网友
1楼 · 发布于 2024-06-19 19:26:26

在您的while循环中,只需将说明疾病影响的代码行放在if块中,否则通常的总体在while循环的每次迭代中都保持正常的总体更新,但将它们保持在if块之外。在

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

我猜这就是你要的。在

相关问题 更多 >