Python’da Doğum Günü Hatırlatıcı Programı

Bugünkü Makalemizde bu haftasonu benim doğum günüm olması nedeniyle bu hafta  size Python’da Doğum Günü Hatırlatıcı Programı yapmayı düşündüm. Bir hatırlatıcı olarak çalışan bu programı size sunuyorum. Programımızın senaryosu: Kullanıcıdan  GG/AA/YYYY formatında ait bir doğum tarih girmesini isteyeceğiz ve kullanıcı girdiği doğum tarihi ile doğum gününe ne kadar kaldığını öğrenebilecek hatta şöyle yapalım eğer kullanıcının doğum tarihine bir gün kala bir sesli alarm üretelim ve kullanıcıya yanındaki yaş bilgisi ile doğum gününün yarın olduğunu söyleyelim örneğin “29. yaşınız için doğum gününüz yarın!” gibi bir mesaj verebiliriz. sonraki kontrollerde aradaki  gün sayısı fazla ise  29.yaşınız için doğum gününüze 40 gün kaldı!” gibi mesaj verelim.  Eğer  doğum tarihi aynı ise Bugün doğum gününüz! İyi ki doğdunuz! mesajını versin  ve alarm.wav sesini çalsın. Şimdi kodları yazalım buraya kadar kodlara bakmadan evvel sizlerin önce yazmasını istiyorum ve yazacağınızı biliyorum daha sonra da bu kodlara bakıp nerede eksik kaldığına bakabilirsin. Şimdi kodlamamıza dönelim import datetime […]

Python’da Doğum Günü Hatırlatıcı Programı

Bugünkü Makalemizde bu haftasonu benim doğum günüm olması nedeniyle bu hafta  size Python’da Doğum Günü Hatırlatıcı Programı yapmayı düşündüm. Bir hatırlatıcı olarak çalışan bu programı size sunuyorum.

Programımızın senaryosu:
Kullanıcıdan  GG/AA/YYYY formatında ait bir doğum tarih girmesini isteyeceğiz ve kullanıcı girdiği doğum tarihi ile doğum gününe ne kadar kaldığını öğrenebilecek hatta şöyle yapalım
eğer kullanıcının doğum tarihine bir gün kala bir sesli alarm üretelim ve kullanıcıya yanındaki yaş bilgisi ile doğum gününün yarın olduğunu söyleyelim örneğin “29. yaşınız için doğum gününüz yarın!” gibi bir mesaj verebiliriz. sonraki kontrollerde aradaki  gün sayısı fazla ise  29.yaşınız için doğum gününüze 40 gün kaldı!” gibi mesaj verelim.  Eğer  doğum tarihi aynı ise Bugün doğum gününüz! İyi ki doğdunuz! mesajını versin  ve alarm.wav sesini çalsın.

Şimdi kodları yazalım buraya kadar kodlara bakmadan evvel sizlerin önce yazmasını istiyorum ve yazacağınızı biliyorum daha sonra da bu kodlara bakıp nerede eksik kaldığına bakabilirsin.
Şimdi kodlamamıza dönelim

import datetime
import winsound

def dogum_gunu_hatirlatici():
    
    bugun = datetime.date.today()

 
    dogum_gunu = input("Doğum gününüzü (GG/AA/YYYY formatında) girin: ")
    dogum_gunu_gun = int(dogum_gunu[:2])
    dogum_gunu_ay = int(dogum_gunu[3:5])
    dogum_gunu_yil = int(dogum_gunu[6:])

    yas = bugun.year - dogum_gunu_yil


    dogum_gunu_tarihi = datetime.date(bugun.year, dogum_gunu_ay, dogum_gunu_gun)


    kalan_gunler = (dogum_gunu_tarihi - bugun).days


    if kalan_gunler == 1:
        alarm_mesaji = "{}. yaşınız için doğum gününüz yarın!".format(yas)
        winsound.PlaySound("alarm.wav", winsound.SND_FILENAME)
    elif kalan_gunler == 0:
        alarm_mesaji = "Bugün doğum gününüz! İyi ki doğdunuz!"
        winsound.PlaySound("alarm.wav", winsound.SND_FILENAME)
    elif kalan_gunler < 0:
        dogum_gunu_tarihi = datetime.date(bugun.year + 1, dogum_gunu_ay, dogum_gunu_gun)
        kalan_gunler = (dogum_gunu_tarihi - bugun).days
        alarm_mesaji = "{}. yaşınız için doğum gününüze {} gün kaldı!".format(yas+1, kalan_gunler)
    else:
        alarm_mesaji = "{}. yaşınız için doğum gününüze {} gün kaldı!".format(yas, kalan_gunler)

    print(alarm_mesaji)



dogum_gunu_hatirlatici()

ilk önce bize tarihleri almamız için import datetime küütüphanesi ve alarm sesimi yüklememiz için import winsound kütüphanelerimizi import ettik.

bugun = datetime.date.today() işlemiyle ilk önce bugunun tarihini  yıl/ay/gun şeklinde aldım. sonra bana lazım olan gun ay ve yılı
dogum_gunu_gun = int(dogum_gunu[:2])
dogum_gunu_ay = int(dogum_gunu[3:5])
dogum_gunu_yil = int(dogum_gunu[6:])

işlemleri  ile aldım burada yas = bugun.year – dogum_gunu_yil   yaş verisi için yıl farkını aldım.

kalan_gunler değişkeni ile kalan gunleri ayarladım zaten türkçe kelimelerle açıklayıcı bir şekilde değişken adlarını belirledim
 winsound.PlaySound(“alarm.wav”, winsound.SND_FILENAME)   buradaki satırda da Sesli alarm için “alarm.wav” dosyasını çalar.
alarm.wav alarm sesimizi de programımızı bulunduğu dizinde olmasını isterim.
kodumuzun ekran çıktıları aşağıdaki gibidir.
Burada kullanıcının doğum tarihi,  şimdiki  tarihten(04/06/2023)  üç gün ise artık kullanıcı 29. yaş değil de 30.yaş için hesaplama yapıyor olacak,
kodumuzun aşağıdaki gibi ekran çıktısı olacaktır:
Burada kullanıcının doğum tarihi, şimdiki  tarih ise (04/06/2023)  ekran çıktısı  aşağıdaki gibi olacaktır :
Burada ayrıca alarm.wav  alarm sesimiz de çalacaktır.

Burada kullanıcının doğum tarihi,  şimdiki  tarihten (04/06/2023) bir gün sonra ise  ekran çıktısı aşağıdaki gibi olacaktır :
Burada ayrıca alarm.wav  adlı alarm sesimiz de çalacaktır.

Burada ise kullanıcının doğum tarihi,  şimdiki  tarihten(04/06/2023) dört gün sonra  ise aşağıdaki gibi ekran çıktısı olacaktır:
Özetle burada python porgramlama dilini kullanarak Python’da Doğum Günü Hatılatıcı programını yaptık, burada programın geliştirmesini size bırakıyorum.
Python’da Gui, Arayüz konusunu anlattıktan sonra bunu nasıl bir arayüze dahil edip, kullanıcı ile daha etkileşimli bir hale getireceğimizi anlatıyor olacağım.
Benzer Yazılar

Gui Dersleri #8 | LabelFrame kullanımı ve TopLevel kullanımı

Python 7 ay önce

Arkadaşlar merhaba bu makalemizde sizlere python’da LabelFrame kullanımı ve TopLevel kullanımının nasıl yappacağımızı anlatacağım.  Ayrıca size bu konu hakkında çektiğim video’yu bırakıyorum isteyen video izler isteyen aşağıdaki makaleyi okur. Şimdiden iyi seyirler ve iyi okumalar dilerim. ☺ LabelFrame kullanımı : LabelFrame widget’ı, bir çerçeve içindeki bir etiketle birlikte bir grup widget’ı oluşturmanıza olanak tanır. LabelFrame widget’ı, bir Frame widget’ının özelliklerine sahiptir ve ayrıca bir başlık etiketi içerir. Bu widget’lar, diğer widget’ları gruplandırmak için kullanılabilir. from tkinter import* pencere=Tk() pencere.title("label Frame örneği") pencere.geometry("400×300+200+200") kisi_bilgileri=LabelFrame(pencere,text="nüfus örneği", width=300,height=200) kisi_bilgileri.pack(pady=30) kisi_ad=Label(kisi_bilgileri,text="ad soyad") kisi_ad.place(x=20,y=20) kisi_ad_giris=Entry(kisi_bilgileri) kisi_ad_giris.place(x=120,y=20) pencere.mainloop()   yukarıdaki kodumuzda görüleceği üzere formlarda widgetların daha düzenli görünmesini sağlayan labelFrame’mizi  kisi_bilgileri=LabelFrame(pencere,text=”nüfus örneği”, width=300,height=200) şeklinde yükseklik ve genişlik değerleri vererek tanımladık. Bundan sonra ise ekleyeceğimiz widgetları pencere üzerinde tanımlamak yerine kisi_ad=Label(kisi_bilgileri,text=”ad soyad”) buradaki gibi kisi_bilgileri adında tanımladığım LabelFrame değişkeni üzerine eklediğimizi belirtiyoruz. kisi_ad_giris.place(x=120,y=20) burada da Entry nesnesini place özelliği ile x ve y değerlerini vererek konumlandırıyoruz. kodumuzun ekran […]

Python Dersleri | Bayrama özel uygulama yapımı

Python 8 ay önce

Arkadaşlar Merhabalar bugunkü makalemizde bayramda aklıma gelen bir uygulama senaryosunu gerçekleştirmesini size anlatıyor olacağım. Bayramda vakit ayırıp bunu yeni gerçekleştirdim umarım beğenirsiniz. Bayramınızı kutluyorum şimdiden iyi seyirler ve iyi okumalar dilerim. def __init__(self): Burada yapıcı(constructor ) fonksiyonumuzu tanımladık self belirteci  ile burada attribute’lar ve fonksiyonlara ulaşıyor oalcağız. self.pencere = tk.Tk() self.pencere.title("Bayram Uygulaması") self.pencere.geometry("500×400+500+300") burada pencere ayarlamasınız yaptık. self.soru1=tk.Label(self.pencere,text="1. Mezarlık ziyareti yapıldı mı?") self.soru1.grid(row=0,column=0) self.evet1=tk.Button(self.pencere,text="Evet",command=self.mezarlikEvet) self.evet1.grid(row=0,column=1) burada soru etkietimizi ve yanlarından evet ve hayır butonlarını ekledik burada grid(row,column) yapısına değinecek olursak elemanlarımı grid şeklinde bize yerleştirmemizi sağlayacaktır. def mezarlikEvet(self): self.skor+=20 self.evet1.config(state="disabled") self.hayir1.config(state="disabled") self.guncelle() def mezarlikHayir(self): self.evet1.config(state="disabled") self.hayir1.config(state="disabled") self.guncelle() burada ise buttonlarımızın command parametresine karşılık gelen fonksiyonlarımızı doldurduk. if(self.skor>=80): sonuc = "Neredeyse tüm görevleri yapmışssın helal sana be!🎊🎇 " elif(self.skor>=60 and self.skor<80): sonuc = "Kurban bayramının gerekliliklerini orta düzeyde karşılıyorsun. 😊" elif(self.skor>50 and self.skor<60): sonuc = "kurban bayramının olması gerektiği gibi değil maelesef 😔" else: sonuc = "olmaz öyle kardeşim böyle bayramda […]

Gui Dersleri #7 | Canvas kullanımı, Scale kullanımı ve Scrollbar kullanımı ile ilgili işlemler

Python 8 ay önce

Arkadaşlar merhaba bu makalemizde sizlere Canvas(Tuval) kullanımı, Scale(ölçek) kullanımı ve Scrollbar(Kaydırma çubuğu) kullanımının nasıl oluşturacağını anlatıyor olacağım ve bunlarla ilgili örnek uygulama yapacağım. Ayrıca size bununla ilgili yukarıda bir örnek video bırakıyorum isteyen video izler isteyen aşağıdaki makaleyi okur. Şimdiden iyi seyirler ve iyi okumalar dilerim. ☺ Canvas(Tuval) kullanımı: Canvas widgeti, Tkinter’da kullanılan bir çizim alanıdır. Bu widgeti kullanarak grafikler, şekiller, metinler ve diğer çizim öğelerini ekrana çizebilirsiniz. Canvas, çeşitli interaktif grafik uygulamaları ve veri görselleştirme için kullanışlıdır. from tkinter import* pencere=Tk() pencere.geometry("300×300+200+200") pencere.title("Canvas örneği") canvas1=Canvas(width=300,height=300,background="gray",highlightthickness=2) canvas1.pack() canvas1.create_rectangle(50,50,100,100,fill="blue") canvas1.create_oval(60,60,150,150,fill="red") canvas1.create_text(50,30,text="merhaba",font="courier 15",fill="yellow") pencere.mainloop()   Bu örnekte, Canvas sınıfını kullanarak bir tuval oluşturuyoruz. width ve height parametreleri tuvalin boyutlarını belirtir. create_rectangle() ve create_oval() metotlarıyla dikdörtgen ve elips gibi çizimler yapabiliriz. Ayrıca create_text() metoduyla da belirtilen özellikte bir text yazısı yazar. Kodlarımızın ekran çıktısı aşağıdaki gibidir:   Scale(Ölçek) kullanımı Scale widgeti, Tkinter’da kullanılan bir kaydırma çubuğu bileşenidir. Kullanıcının bir aralıktaki bir değeri seçmesini […]

1 Yorum

  • Melek 6 Haziran 2023

    Merhaba hocam bize önerebileceğiniz kaynaklar var mı?

Yorum Yaz

Rastgele