我刚才有一个简单的问题,对于下面的模拟,如果一个事件发生,让我们说出生会自动增加time_elapsed,还是会死亡并检查死亡是否会发生并做到这一点?
while time_elapsed < end_time :
event=birth () +death () +infection()
choice=random.random()*event
choice -= birth()
time_elapsed += random.expovariate(event)
if choice < 0 :
do_birth()
continue
choice -= death()
if choice < 0:
do_death()
continue
choice -= total_infection_rate()
if choice < 0:
do_infection()
continue
答案 0 :(得分:0)
在上面的代码中,它将检查所有条件状态,直到任何一个评估为True
。如果是,它将执行该块中的代码,然后continue
将跳回循环的开头,跳过所有其他if
语句(无论它们是否都是True
1}}或不)。如果您只想执行其中一种情况,则可以执行以下操作:
if number >= 0:
print('Number is positive')
else:
print('Number is negative')
在这里,python将评估if number >= 0
块,如果它是True
,它将打印'Number is positive'
,然后跳过else
语句。如果if number >= 0
块已评估为False
,则python将只执行else
块中的代码,然后继续。
对于更详细的案例,您还可以使用elif
。这是一个类似的例子:
if number > 0:
print('Number is positive')
elif number < 0:
print('Number is negative')
else:
print('Number is 0')
它遵循相同的逻辑。 Python将从块的顶部开始,并继续评估if
/ elif
块中的每个条件,直到任何条件评估为True
,此时它将执行该块下的代码然后跳过该组中的所有其他条件语句。