簡體   English   中英

為什么這個 python function 沒有在 while 循環中執行兩次?

[英]Why doesn't this python function get executed twice in a while loop?

我正在嘗試制作一個簡單的(對我來說不是真的)早安腳本,它在 while 循環中等待幾秒鍾,觸發 function,然后再次等待再次觸發。

安裝調度程序沒有用,做 threaded.Timer 沒有用,不知道如何使用 deltatime,因為它看起來比我需要做的更復雜。 基本上,這比它需要的要難得多,沒有太多關於為什么 function 不觸發兩次的信息。

這是 while 循環:

while days_run < 325:
    print("Program Started")
    time.sleep(10)
    goodmorning()

這是 function:

def goodmorning():
    print("Morning Working")

它第一次執行,然后再也不會執行。 我在 while 循環上做了一個斷點,它進入睡眠定時器,然后執行 function,然后無限地停止。

我不明白這怎么行不通,為什么它必須比這更復雜,我可能做錯了什么?

現在你的 while 循環不依賴於days_run<325:因為你沒有在運行的 while 循環中修改你的days_run變量。

你可以這樣做..

import time
def goodmorning():
    print("Morning Working")

days_run=0
while days_run < 4:
    print("Program Started")
    days_run+=1    #Modification of days_run
    time.sleep(10)
    goodmorning()  

此代碼將運行 4 次while循環並在每次Program Started打印后sleep 10sec

Output:

Program Started
Morning Working
Program Started
Morning Working
Program Started
Morning Working
Program Started
Morning Working 

給你go,下次具體點

days_run = 0;
import time


def goodmorning():
    print("Morning Working")

while days_run < 1:
    print("Program Started")
    time.sleep(1)
    goodmorning()

暫無
暫無

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

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