In wie vielen Tagen ist Semesterbeginn?

Aufgabe

In dieser Aufgabe geht es darum, erste Erfahrung mit Python-Modulen zu machen. An dieser Aufgabe soll vor allem ersichtlich werden, wie sich der Einsatz von (guten) Modulen auf die Lesbarkeit eines Programms auswirkt.

1.

Schreiben Sie ein Programm, welches ein Datum d1 und ein Datum d2 bekommt und die Anzahl der Tage zwischen d1 und d2 berechnet. Achten Sie dabei

  • auf Schaltjahre
    • Ein Jahr ist genau dann ein Schaltjahr, wenn folgende Bedingungen gelten:
      • das Jahr lässt sich ohne Rest durch vier teilen (Rest also 0)
      • das Jahr lässt sich nicht ohne Rest durch hundert teilen (Rest also ungleich 0) oder es lässt sich durch vierhundert ohne Rest teilen
  • dass die übergebenen Daten korrekt sind (im Sinne des gregorianischen Kalenders).
    • zum Beispiel mit einer Klasse “Datum”, welche ein Datum repräsentieren kann
    • oder den Tag, Monat und Jahr von jedem Datum einzeln der Funktion übergeben (nervig und unübersichtlich)
2.
Erst öffnen, wenn Sie Aufgabe 1 gelöst haben.

Tipp für 1.

Achtung Spoiler!

Tipp für 2.

Achtung Spoiler!