Python bilgisayar saatini döngüyle yazdırmak

ö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ı.

Ekran Alıntısı

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