Sprawdzanie roku przestępnego w Pythonie

Określ, czy rok jest rokiem przestępnym, korzystając ze standardowych kontroli podzielności w Pythonie.

Spróbuj w Edytorze

Przegląd

Rok przestępny zawiera 366 dni zamiast 365, z dodatkowym dniem dodanym do lutego. Dzieje się tak, aby rok kalendarzowy był zsynchronizowany z rokiem astronomicznym.

Zasada stanowi, że rok jest rokiem przestępnym, jeśli jest podzielny przez 4, z wyjątkiem lat stulecia (lata kończące się na 00), które również muszą dzielić się przez 400.

To obliczenie jest zaimplementowane w Pythonie przy użyciu połączonych operatorów logicznych („i”, „lub”) i operatorów modulo.

Dane wyjściowe kodu i wykonania

Algorytm oparty na podzielności do weryfikacji wielu lat testowych, w tym lat stulecia.

def is_leap_year(year):
    # A year is leap if it is divisible by 4
    # and (not divisible by 100 or divisible by 400)
    return (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)

years = [2000, 2004, 1900, 2023, 2024]
for y in years:
    status = "Leap Year" if is_leap_year(y) else "Not a Leap Year"
    print(f"Year {y}: {status}")
Wyjście terminala
Year 2000: Leap Year
Year 2004: Leap Year
Year 1900: Not a Leap Year
Year 2023: Not a Leap Year
Year 2024: Leap Year

Wdrażanie krok po kroku

  • Sprawdzanie poprawności modułów planowania, kalendarza i daty/godziny
  • Dokładne określenie różnic w wieku lub dacie
  • Formuły obliczania finansów i odsetek

Często zadawane pytania

Dlaczego rok 1900 nie był rokiem przestępnym?

Chociaż rok 1900 jest podzielny przez 4, kończy się na 00 (rok stulecia), więc aby był rokiem przestępnym, musi dawać się podzielić przez 400. Ponieważ 1900/400 nie jest liczbą całkowitą, nie jest to rok przestępny.

Powiązane tematy