Python Artık yıl Kontrolü

Python yardımıyla artık yılları bulabiliriz Artık yıl Şubat ayının 29 çektiği yıllardır. Artık yıl bulunurken şu algoritma kullanılır

Seçilen yıl 4 ile tam bölünüp 100 ile tam bölünmeyecek. Veya 400’e tam bölünecek. Kodlamada ki karşılığı ise şu şekildedir.

Plaintext
(yıl % 4 == 0 ve yıl % 100 != 0) veya (yıl % 400 == 0)

Bunu Python dilinde şu şekilde kullanabiliriz.

Python
yıl = int(input("Lütfen kontrol edilecek yılı giriniz: "))

if (yıl % 4 == 0 and yıl % 100 != 0) or (yıl % 400 == 0):
    print(f"{yıl} yılı artık bir yıldır.")
    print("Yani Şubat ayı 29 çeker")
else:
    print(f"{yıl} artık yıl değildir.")
    print("Yani Şubat ayı 28 çeker")
Ekran Çıktısı - Örnek 1

Lütfen kontrol edilecek yılı giriniz: 1990
1990 artık bir yıl değildir.
Yani Şubat ayı 28 çeker
Ekran Çıktısı - Örnek 2

Lütfen kontrol edilecek yılı giriniz: 2000
2000 yılı artık bir yıldır.
Yani Şubat ayı 29 çeker

Bunu bir fonksiyon yardımıyla da yapabiliriz.

Python
def artıkYılKonrolü(yıl):
    return (yıl % 4 == 0 and yıl % 100 != 0) or (yıl % 400 == 0)


while True:
    try:
        yıl = int(input("Kontrol edilecek yılı giriniz ya da çıkmak için 0 tuşuna basın: "))

        if yıl == 0:
            print("Çıkış yapılıyor.")
            break

        if artıkYılKonrolü(yıl):
            print(f"{yıl} yılı artık yıldır.")
        else:
            print(f"{yıl} yılı artık yıl değildir.")

    except ValueError:
        print("hatalı yıl girdiniz.\n"
              "Doğru bir yıl girebilir veya\n"
              "0 yazarak çıkış yapabilirsiniz")
Ekran Çıktısı

Kontrol edilecek yılı giriniz ya da çıkmak için 0 tuşuna basın: Yunus
hatalı yıl girdiniz.
Doğru bir yıl girebilir veya
0 yazarak çıkış yapabilirsiniz
Kontrol edilecek yılı giriniz ya da çıkmak için 0 tuşuna basın: 1990
1990 yılı artık yıl değildir.
Kontrol edilecek yılı giriniz ya da çıkmak için 0 tuşuna basın: 2000
2000 yılı artık yıldır.
Kontrol edilecek yılı giriniz ya da çıkmak için 0 tuşuna basın: 

Similar Posts

Bir yanıt yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir