簡體   English   中英

python:模擬終止

[英]python: simulation termination

我只是有一個簡單的問題,對於以下模擬,如果發生一個事件,可以說出生會自動增加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

在上面的代碼中,它將檢查所有條件語句,直到任何一個條件的值為True為止。 如果是這樣,它將執行該塊中的代碼,然后continue將跳回到循環的開始,跳過所有其他if語句(無論它們是否為True )。 如果您只想執行其中一種情況,則可以按照以下步驟進行:

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為止,這時它將執行該塊下的代碼,然后跳過該組中的所有其他條件語句。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM