LU06.A06: Leap year

Ein Jahr ist ein Schaltjahr, wenn es durch 4 teilbar ist. Wenn das Jahr jedoch durch 100 teilbar ist, dann ist es nur dann ein Schaltjahr, wenn es auch durch 400 teilbar ist.

Schreiben Sie ein Programm, das eine Jahreszahl vom Benutzer einliest und prüft, ob es sich um ein Schaltjahr handelt oder nicht. Beispielhafte Ausgaben:

Give a year: 
*2011*
The year is not a leap year.
Give a year: 
*2012*
The year is a leap year.
Give a year: 
*1800*
The year is not a leap year.
Give a year: 
*2000*
The year is a leap year.

Hinweis 1: Die Teilbarkeit durch eine bestimmte Zahl kann mit dem Modulo-Operator, auch bekannt als “%”, auf folgende Weise überprüft werden.

number = 5
 
if (number % 5 == 0):
    print("The number is divisible by five!")
 
if (number % 6 != 0):
    print("The number is not divisible by six!")
The number is divisible by five!
The number is not divisible by six!

Hinweis 2: Stellen Sie sich das Problem als eine Kette von if-, elif-, elif-, … Vergleichen vor, und beginnen Sie mit dem Aufbau des Programms in einer Situation, in der Sie sicher sein können, dass das Jahr kein Schaltjahr ist.

number = int(input("Give a year:"))
 
if (number % 4 != 0):
    print("The year is not a leap year.")
 
elif (...):
    ...

Vorlage

def main():
  # Write your program here
 
if __name__ == '__main__':
    main()

Anmerkung: Kümmern Sie sich im Moment nicht zu sehr um if __name__ == '__main__':. Wir brauchen es technisch gesehen nicht für dieses Programm, aber es ist eine gute Übung, es einzubauen, und es wird in späteren Übungen klarer werden.


© Kevin Maurizi

Diese Aufgabe ist eine übersetzte und angepasste Aufgabe von Scott Morgan, verwendet unter CC BY NC SA.