26 Aralık 2020 Cumartesi

 Şimdilik bana sanat eseri gibi gelen, geliştirmelik ödev.



############3 2 tarih arasındaki gün sayısını bul.

#Kullanıcıdan alınan tarih bilgisini Gün//Ay//Yıl şeklinde istedim.

tarih_1 = input("(Gün/Ay/Yıl)Tarih 1:  ")      
tarih_2 = input("(Gün/Ay/Yıl)Tarih 2:  ")


#Henüz istediğim sayıda karakter girilmediğinde,\
#bilgiyi otomatik düzeltecek kodu yazamadığım için böyle bir uyarı yazdım.

while len(tarih_1) <= 11 and len(tarih_2) <= 11:     
    print("Örnek tarih: 01//06//2020 şeklinde olmalıdır.")
    break


gun_sayisi_yil = 365 #Şu an bir işe yaramayan değişken tanımları,
gun_sayisi_ay = 30   #ama kullanacağım


#Bu kısımda karakter dizisi içinden ilgili kısımları parçalayıp hesap yapıyorum
#Ve bu kısmın kodları, eğer girilen tarih bilgileri uygun formatta değilse,
#gelen ValueError yüzünden hata üretiyor. O yüzden Try-Except blokları içerisine aldım.

try:
    #değişken tanımları, girilen tarihten bilgisinden parçaladıklarım.
    gun_fark = int(tarih_1[0:2]) - int(tarih_2[0:2]) 
    ay_fark = int(tarih_1[4:6]) - int(tarih_2[4:6])     
    yil_fark = int(tarih_1[8::]) - int(tarih_2[8::])
    toplam_gun = gun_sayisi_yil * yil_fark + gun_sayisi_ay * ay_fark + gun_fark
    #ay-gün farklarını mutlak değer şeklinde hesaplamak için kurduğum if else blokları.
    
    if int(tarih_1[0:2]) <= int(tarih_2[0:2]):
        gun_fark = int(tarih_2[0:2]) - int(tarih_1[0:2])
    else:
        pass
    
    if int(tarih_1[4:6]) <= int(tarih_2[4:6]):
        ay_fark = int(tarih_2[4:6]) - int(tarih_1[4:6])
    else:
        pass

    if int(tarih_1[8::]) <= int(tarih_2[8::]):
        yil_fark = int(tarih_2[8::]) - int(tarih_1[8::])


    print("Gün farkı: ", gun_fark)
    print("Ay farkı: ", ay_fark)
    print("Yıl farkı: ", yil_fark) 
    print("Toplam Gün: ", toplam_gun)

except ValueError:
    print("Hata türü: Yanlış değer girdiniz.", ValueError)
    pass

Hiç yorum yok:

Yorum Gönder