Yaşını en doğru şekilde hesapla

    def sor():
    g = int(input("gün: "))
    a = int(input("ay: "))
    y = int(input("yıl: "))

    d_g = int(input("doğum günü: "))
    d_a = int(input("doğum ayı: "))
    d_y = int(input("doğum yılı: "))

    yas = ((g+(a*30)+(y*365))//365)-((d_g+(d_a*30)+(d_y*365))//365)

    print(yas)
    print("yaşınız, %86 doğru hesaplanmıştır, bu oran yakında artırılacaktır... ")
while True:
    sec = str(input("girmek için G yazınız\nçıkmak için Q yazınız\n=) "))
    if sec == "G":
        sor()
    if sec == "Q":
        print("Çıkılıyor...")
        quit()

bu kodlar yaşınızı doğru şekilde hesaplar, bunu yazmamın sebebi ise; bazen yaş hesaplamada sıkıntı yaşayabiliyoruz, bu sayede sorunlar çözülecektir.

1 Beğeni

hata alırsanız söyleyin.

inputları kontrol eden ifadeler olmadığı için (int mı string mi) programda sayısal girdi dışında farklı türde bir girdi yaptığımız zaman hata alıyoruz. try except bloklarını kullanarak bu kontrolü sağlayabilir ve daha sağlıklı çalışan bir program elde edebilirsiniz.

ayrıca kullanıcının klavyesi büyük harf çalıştırmıyor olabilir. Bir hata olabilir cart olur curt olur. Bu yüzden giriş yaparken tüm faktörleri değerlendirmek gerekir. G ve g diye koşul sağlamak lazım

ayrıca yaş değişkeninde yapılan hesaplama ekrana print ettirilmiyor reis :smiley: yani print ediyor da hesaplaması bir tuhaf. eğer bulunduğumuz günden hesaplama yapacaksa program datetime modülü ile o günün tarih ve saatini alabilirsin. Kullanıcıya bunu sormak yersiz oluyor. 2 seçenek belirt hangisini tercih ederler diye.

  • Bugünden itibaren hesapla
  • Farklı bir tarihten itibaren hesapla

gibi

teşekkürler onu da ekleyeceğim.

peki, ben kendime göre düşünmüştüm.

ne yazıkki modülleri tam bilmiyorum. Öğrenince ekleyebilirim.