öncelikle herkese kolay gelsin benim sorunum döngüyle bilgisayar saatini sürekli güncel olarak yazdırabilmek fakat döngüyü başlattığımda başlattığım saati sürekli yazdırıyor benim amacım dakika dakika değişimi görmek böylelikle saate dayalı program yazmak istiyorum nerde yanlış yapıyorum?
import datetime
import time
an = datetime.datetime.now()
saat = datetime.datetime.strftime(an, '%H:%M')
print(saat)
while saat <= "02:54":
time.sleep(5)
print(saat)
if saat >= "02:53":
pass
Merhaba, girdiğiniz “02:54” değeri bir string ve <=
ifadesini sayılar için kullanıyoruz. Python’un girdiğiniz saatin “02:54” ten küçük olduğunu bu şekilde anlayabileceğini sanmıyorum. Onun yerine şunu bir deneyin:
import datetime
import time
import arrow
# pip install arrow
# ile modülü yüklemeniz gerekli
# yoksa hata alacaksınız
an = datetime.datetime.now()
saat = datetime.datetime.strftime(an, '%H:%M')
now = arrow.now()
print(saat)
while now.hour <= 2 and now.minute <= 54:
time.sleep(5)
print(saat)
if now.hour >= 2 and now.minute >= 53:
pass
burada saat ve dakika birer sayı. Bende, bunu denediğim zaman nedeniyle sizin istediğiniz haliyle çalışmıyor ancak saati değiştirdiğimde (örneğin 11 yaptığımda) çalıştı.

yapmak istediğinizi anladım fakat problem düzelmedi başlatıldığı saati yazıyor döngüyle onda bi sorun yok fakat dakika atladığında güncel olarak onuda yazdırmak istiyorum böylelikle if altına saat şu olduğunda şunu yap gibi bi uygulama yapmak istiyorum.
Sanırım sorun saat 20:17 den 20:18 e geçince hala 20:18 olarak göstermesi değil mi? Şu işe yarar gibi duruyor:
import datetime
import time
import arrow
# pip install arrow
# ile modülü yüklemeniz gerekli
# yoksa hata alacaksınız
an = datetime.datetime.now()
saat = datetime.datetime.strftime(an, '%H:%M')
now = arrow.now()
print(saat)
while now.hour <= 2 and now.minute <= 54:
time.sleep(5)
print(saat)
if now.hour >= 2 and now.minute >= 53:
pass
saat = datetime.datetime.strftime(an, '%H:%M')
now = arrow.now()
tüm kontroller yapıldıktan sonra değişkenlerin değerini güncelliyor.
1 Beğeni
import datetime
from threading import *
import time
gorevler = ["23:54", "23:56"]
def Threading():
t1 = Thread(target=alarm)
t1.start()
def alarm():
while True:
saatdakika = datetime.datetime.now().strftime("%H:%M")
if saatdakika == gorevler[0]:
print("1.görev zamanı")
time.sleep(5)
elif saatdakika == gorevler[1]:
print("2.görev zamanı")
time.sleep(5)
alarm()
tkinter örneklerini incelerken alarm ile ilgili bir programa denk geldim, senin konu aklıma geldi.
işini görebileceğini düşünüp kodları değiştirdim ama 2 görev verdim terminalde saat ve dakika aynı olduğunda printler cevap verdi. görevlerdeki saat dakikaları değiştir bir dene bakalım.
1 Beğeni
eyvallah hocam aradığım buydu teşekkürler