Это простой таймер Помоморо, который я написал. Теоретически, он будет работать бесконечно, чередуя время между 25 и 5 минутами.Почему этот скрипт не работает/работает только один раз?
import time
import sys
import datetime
import winsound
def ring(sound):
winsound.PlaySound('%s.wav' % sound, winsound.SND_FILENAME)
times = 0
while True:
tomato = 0
while tomato <= 1500:
timeLeft = 1500 - tomato
formatted = str(datetime.timedelta(seconds=timeLeft))
sys.stdout.write('\r'+ formatted)
time.sleep(1)
tomato += 1
ring("MetalGong")
fun = 0
while fun <= 300:
funTimeleft = 300 - fun
funFormatted = str(datetime.timedelta(seconds=funTimeleft))
sys.stdout.write('\r'+ funFormatted)
time.sleep(1)
fun +=1
ring("AirHorn")
times += 1
print("You have completed" + times + "Pomodoros.")
Но это только за один раз; как только он закончил 5-минутный блок, консольное окно закрылось (я выполнил его непосредственно двойным щелчком, а не через терминал).
Зачем это закрывается? Это связано с тем, как я использовал while True:
?
Спасибо!
evamvid
, если вы запустите его с консоли вы увидите, вы очень быстро почему .... ну примерно 5 минут –
выглядит как его неудачу в этом «winsound.PlaySound (»% s.wav '% sound, winsound.SND_FILENAME)'. Вы получаете сообщение об ошибке? – sanooj