# Schaltjahre # Autoren: Gunnar, Jan # Python 2.7.15 # 27.1.19 #noch zu erledigen: Eingabefehler abfangen, Datum auf Plausibilitaet pruefen import math as m 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 "" 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()