Browse Source

Erster Commit

Gunnar 5 years ago
commit
0b3e4c1a65
1 changed files with 47 additions and 0 deletions
  1. 47 0
      Schaltjahr1.py

+ 47 - 0
Schaltjahr1.py

@@ -0,0 +1,47 @@
+# Schaltjahre
+# Gunnar
+# Python 2.7.15
+# 20.1.19
+
+#noch zu erledigen: Eingabefehler abfangen, Datum auf Plausibilitaet pruefen
+
+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.
+            
+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 wochentage[int(m.floor(tage % 7 - 1))]  #Teilt gesamte Tage durch Laenge einer Woche und ordnet dem Rest einen Wochentag zu.