LU05.A06: Leap year

Schreibe ein Programm, das die Schaltjahre korrekt erkennt.

Auftrag

Erstelle die Programmlogik für das Programm:

  1. Der Benutzer gibt eine Jahreszahl ein.
  2. Das Programm gibt aus, ob es sich um ein Schaltjahr handelt.

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.

Beispiel

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

Stelle dir die Programlogik als eine Kette von if-, elif-, elif-, … Vergleichen vor. Schreibe zuerst die Bedingung, ob das Jahr restlos durch 400 geteilt werden kann.

Vorlage

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

Vorgehen

  1. Akzeptiere das GitHub Classroom Assignment im Moodlekurs.
  2. Klone das Repository in PyCharm.
  3. Codiere die Programmlogik in main.py.
  4. Teste dein Programm mit den Testfällen in main_test.py.
  5. Führe einen Commit und einen Push durch.

Abgabe

Die Abgabe erfolgt durch den Push ins GitHub Repository. In Moodle ist keine Abgabe vorgesehen oder möglich.

Vorlage in main.py

def main():
  # Write your program here and remove the line "pass"
    pass
 
if __name__ == '__main__':
    main()

Anmerkung: Kümmere dich ich im Moment nicht zu sehr um if __name__ == '__main__':. Dieser Programmblock legt fest, welche Funktion beim Ausführen gestartet wird. Wir werden dies im Verlauf des Moduls noch genauer betrachten.

GitHub-Repo: https://github.com/templates-python/m319-lu05-a06-leapyear


Kevin Maurizi, Marcel Suter

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