Форум сайта python.su
0
Здрям!
Хочу написать таймер, который будет выводить циклом:
1. прошло 25 минут, сообщение “Сообщение 1”
2. прошло 5 минут, сообщение “Сообщение 2”
3. прошло 25 минут, сообщение “Сообщение 3”
4. прошло 5 минут, сообщение “Сообщение 4”
Цикл не идет.
import time from datetime import datetime, timedelta, date, time as dt_time from tkinter import messagebox d = datetime.today() #print (d.strftime('%M')) a='25' b='30' c='50' e='00' #бесконечный цикл while d: if d.strftime == a: print ('Хо-хо') elif d.strftime == b: print ('Ха-ха') elif d.strftime == c: print ('Хи-хи') elif d.strftime == e: print ('Хе-хе') else: time.sleep(5) # делаем паузу 50 секунд
Отредактировано Kir@ (Фев. 18, 2016 09:07:31)
Офлайн
76
import time def time1(): time.sleep(1) print("One second") time2() def time2(): time.sleep(2) print("Two second") time1() time2()
Офлайн
6
А где тут цикл то?
Офлайн
0
Код немножко эволюционировал 
Офлайн
0
import time def my_message(t, m): time.sleep(t) print m while True: my_message(60*5*5,"Сообщение 1") my_message(60*5,"Сообщение 2") my_message(60*5*5,"Сообщение 3") my_message(60*5,"Сообщение 4")
Офлайн
0
Вот так почти работает:
import time from tkinter import messagebox def time1(): time.sleep(1500) #print("One second") messagebox.showinfo('Alarm!', '!') time2() def time2(): time.sleep(300) #print("Two second") messagebox.showinfo('Alarm!', '!') time3() def time3(): time.sleep(1200) #print("Two second") messagebox.showinfo('Alarm!', '!') time4() def time4(): time.sleep(600) #print("Two second") messagebox.showinfo('Alarm!', '!') time1() time1()
Офлайн
0
Рабочий вариант со звкуом:
import time import winsound, sys def time1(): #time.sleep(1500) time.sleep(15) winsound.PlaySound('s.wav', winsound.SND_FILENAME) time2()
Отредактировано Kir@ (Фев. 18, 2016 11:01:44)
Офлайн
221
Kir@не повисает, а наверное вызывается модально т.е. с блокировкой приложения, до тех пор пока окно не будет закрыто. Я не силен в Tk, поэтому не подскажу как окна вызывать не модально.
Только подвисает окошко tk.
import time import winsound def timer(seconds): time.sleep(seconds) winsound.PlaySound('s.wav', winsound.SND_FILENAME) times = [1500, 300, 1200, 600] for value in times: timer(value)
Офлайн