[英]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.