|
@@ -6,46 +6,49 @@
|
|
#noch zu erledigen: Eingabefehler abfangen, Datum auf Plausibilitaet pruefen
|
|
#noch zu erledigen: Eingabefehler abfangen, Datum auf Plausibilitaet pruefen
|
|
|
|
|
|
import math as m
|
|
import math as m
|
|
-
|
|
|
|
-print "Bitte Datum eingeben"
|
|
|
|
-jahr = input("Jahr: ")
|
|
|
|
-monat = input("Monat: ")
|
|
|
|
-tag = input("Tag: ")
|
|
|
|
-
|
|
|
|
-tagemonate = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334] #Anzahl der Tage im Jahr, zu Beginn eines jeden Monats
|
|
|
|
-monatetage = tagemonate[monat - 1] #Anzahl der Tage im Jahr, zu Beginn des gewaehlten Monats
|
|
|
|
-jahrtage = monatetage + tag #Anzahl der Tage im Jahr, zum gewaehlten Datum
|
|
|
|
-
|
|
|
|
-wochentage = ["Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"]
|
|
|
|
-
|
|
|
|
-schaltjahr = "kein Schaltjahr" #Kein Jahr ist ein Schaltjahr,
|
|
|
|
-if jahr % 4 == 0: #ausser es ist durch 4 teilbar,
|
|
|
|
- schaltjahr = "Schaltjahr"
|
|
|
|
- if jahr % 100 == 0: #es sei denn, es ist auch durch 100 teilbar,
|
|
|
|
- schaltjahr = "kein Schaltjahr"
|
|
|
|
- if jahr % 400 == 0: #aber trotzdem, wenn es auch durch 400 teilbar ist.
|
|
|
|
- schaltjahr = "Schaltjahr"
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-tage = (jahr - 1)* 365 #Anzahl Tage gesamt, zu Beginn des gewaehlten Jahrs
|
|
|
|
-
|
|
|
|
-if jahr >= 4: #Alle 4 Jahre
|
|
|
|
- tage = tage + m.floor(jahr / 4) #wird 1 Tag addiert.
|
|
|
|
- if jahr >= 100: #Alle 100 Jahre
|
|
|
|
- tage = tage - m.floor(jahr / 100) #wird ein Tag abgezogen.
|
|
|
|
- if jahr >= 400: #Alle 400 Jahre
|
|
|
|
- tage = tage + m.floor(jahr / 400) #wird ein Tag addiert.
|
|
|
|
|
|
+def Programm():
|
|
|
|
+ print ""
|
|
|
|
+ print "Bitte geben Sie ein Datum ein."
|
|
|
|
+ print ""
|
|
|
|
+ jahr = input("Jahr: ")
|
|
|
|
+ monat = input("Monat: ")
|
|
|
|
+ tag = input("Tag: ")
|
|
|
|
+
|
|
|
|
+ tagemonate = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334] #Anzahl der Tage im Jahr, zu Beginn eines jeden Monats
|
|
|
|
+ monatetage = tagemonate[monat - 1] #Anzahl der Tage im Jahr, zu Beginn des gewaehlten Monats
|
|
|
|
+ jahrtage = monatetage + tag #Anzahl der Tage im Jahr, zum gewaehlten Datum
|
|
|
|
+
|
|
|
|
+ wochentage = ["Montag.", "Dienstag.", "Mittwoch.", "Donnerstag.", "Freitag.", "Samstag.", "Sonntag."]
|
|
|
|
+
|
|
|
|
+ schaltjahr = "kein Schaltjahr." #Kein Jahr ist ein Schaltjahr,
|
|
|
|
+ if jahr % 4 == 0: #ausser es ist durch 4 teilbar,
|
|
|
|
+ schaltjahr = "ein Schaltjahr."
|
|
|
|
+ if jahr % 100 == 0: #es sei denn, es ist auch durch 100 teilbar,
|
|
|
|
+ schaltjahr = "kein Schaltjahr."
|
|
|
|
+ if jahr % 400 == 0: #aber trotzdem, wenn es auch durch 400 teilbar ist.
|
|
|
|
+ schaltjahr = "ein Schaltjahr."
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ tage = (jahr - 1)* 365 #Anzahl Tage gesamt, zu Beginn des gewaehlten Jahrs
|
|
|
|
+
|
|
|
|
+ if jahr >= 4: #Alle 4 Jahre
|
|
|
|
+ tage = tage + m.floor(jahr / 4) #wird 1 Tag addiert.
|
|
|
|
+ if jahr >= 100: #Alle 100 Jahre
|
|
|
|
+ tage = tage - m.floor(jahr / 100) #wird ein Tag abgezogen.
|
|
|
|
+ if jahr >= 400: #Alle 400 Jahre
|
|
|
|
+ tage = tage + m.floor(jahr / 400) #wird ein Tag addiert.
|
|
|
|
|
|
-if monat < 3 and schaltjahr == "Schaltjahr": #Liegt das gewaehlte Datum in einem Schaltjahr und im Januar oder Februar,
|
|
|
|
- tage = tage - 1 #wird ein Tag abgezogen.
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-tage = tage + jahrtage #Tage vor dem gewaehlten Jahr und Tage im gewaehlten Jahr werden addiert.
|
|
|
|
-
|
|
|
|
-print schaltjahr
|
|
|
|
-print "Wochentag: "
|
|
|
|
-
|
|
|
|
-print wochentage[int(m.floor(tage % 7 - 1))] #Teilt gesamte Tage durch Laenge einer Woche und ordnet dem Rest einen Wochentag zu.
|
|
|
|
-
|
|
|
|
-print wochentage[int(tage % 7 - 1)] #Teilt gesamte Tage durch Laenge einer Woche und ordnet dem Rest einen Wochentag zu.
|
|
|
|
-
|
|
|
|
|
|
+ if monat < 3 and schaltjahr == "Schaltjahr.": #Liegt das gewaehlte Datum in einem Schaltjahr und im Januar oder Februar,
|
|
|
|
+ tage = tage - 1 #wird ein Tag abgezogen.
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ tage = tage + jahrtage #Tage vor dem gewaehlten Jahr und Tage im gewaehlten Jahr werden addiert.
|
|
|
|
+ print ""
|
|
|
|
+ print "Das Jahr", jahr, "ist", schaltjahr
|
|
|
|
+ print "Das gewaehlte Datum ist ein", wochentage[int(tage % 7 - 1)] #Teilt gesamte Tage durch Laenge einer Woche und ordnet dem Rest einen Wochentag zu.
|
|
|
|
+ print ""
|
|
|
|
+ print "Zum Berechnen eines weiteren Datums druecken Sie J. "
|
|
|
|
+ nochmal = raw_input("Beenden des Programms mit beliebiger Taste. ")
|
|
|
|
+ if nochmal == "j" or nochmal == "J":
|
|
|
|
+ Programm()
|
|
|
|
+Programm()
|