Code: Alles auswählen
import sys
tage=("dienstag","mittwoch","donnerstag","freitag","samstag","sonntag","montag")
schalt=0
montag=0
dienstag=0
mittwoch=0
donnerstag=0
freitag=0
samstag=0
sonntag=0
x=0
while x<50: #Kleine Schleife um den Bildschirm zu saeubern.
print"\n"
x=x+1
# Kleines Eingabemenu
print "\t\t\t***Gregorianischer Kalender***\n"
print "\t\t\t******************************\n\n"
print "\t\t\t\t***Auswahl***\n\n"
print "\tWas möchten Sie machen\n\n"
print "\t\t<1> Berechnen des häufigsten Tages nach Eingabe einer Zahl\n"
print "\t\t<2> Berechnen des Wochentages nach Eingabe eines Datums\n\n"
print "\t Eingabe > "
eingabe=input()
if eingabe != 1 and eingabe != 2: # Kleine Eingabekontrolle
print "\n\n\t\tSie haben eine falsche Eingabe getätigt. Programm wird beendet.\n\n";
sys.exit
if eingabe==1:
routine() # Aufrufen der Subroutine fuer den Menupunkt 1
if eingabe==2:
haupt() # Aufrufen der Subroutine fuer den Menupunkt 2
def bubble(list):
for x1 in range(7):
for y1 in range(7):
if list[x1]<list[y1]:
tempi=list[x1]
list[x1]=list[y1]
list[y1]=tempi
return list
def routine(): #Routine die den häufuigsten Wochentag berechnet
print "Zu welchem Tag im Monat moechten sie den haeufigsten Wochentag wissen?\n\n"
day=input()
jahr=1
month=0
print day,"\n"
for zahl in range(13):
if zahl <1:
zahl=1
month=month+1
print day, month, jahr, "\n"
berechne()
if bla==0:
dienstag=dienstag+1
print "Di\n"
if bla==1:
mittwoch=mittwoch+1
print "Mi\n"
if bla==2:
donnerstag=donnerstag+1
print "Do\n"
if bla==3:
freitag=freitag+1
print "Fr\n"
if bla==4:
samstag=samstag+1
print "sa\n"
if bla==5:
sonntag=sonntag+1
print "SO\n"
if bla==6:
montag=montag+1
print "mo\n"
zahlen=[montag , dienstag , mittwoch, donnerstag , freitag , samstag, sonntag]
richtig=bubble(zahlen)
print zahlen[0],zahlen[1],zahlen[2],zahlen[3],zahlen[4],zahlen[5],zahlen[6]
if richtig[6] == montag:
print "Der häufigste Tag war ein Montag\n"
elif richtig[6] == dienstag:
print "Der häufigste Tag war ein Dienstag\n"
elif (richtig[6] == mittwoch:
print "Der häufigste Tag war ein Mittwoch\n"
elif richtig[6] == donnerstag:
print "Der häufigste Tag was ein Donnerstag\n"
elif richtig[6] == freitag:
print "Der häufigste Tag war ein Freitag\n"
elif richtig[6] == samstag:
print "Der häufigste Tag war ein Samstag\n"
elif richtig[6] == sonntag:
print "Der häufigste Tag war ein Sonntag\n"
sys.exit
def haupt():
print "\n\n\t\tJahr[1..x] > " # Eingabe des Jahres mit kleiner Eingabekontrolle
jahr=input()
if jahr < 1:
print "\n\n\t\tDas Jahr $jahr gibt es nicht. Programm wird beendet.\n\n"
sys.exit
print"\n\n"
print "\t\tMonat[1..12] > " # Eingabe des Monats mit kleiner Eingabekontrolle
month=input()
if month < 1 or month > 12:
print "\n\n\t\tDer Monat $month existiert nicht. Programm wird beendet.\n\n";
sys.exit;
print "\n\n"
if month == 1 or month ==3 or month == 5 or month == 7 or month == 8 or month == 10 or month == 12:
monats_tage="1..31"
elif month == 4 or month == 6 or month == 9 or month == 11):
monats_tage="1..30"
elif month == 2 and ((jahr % 4 !=0) or (jahr % 100 == 0 and jahr % 400 != 0)):
monats_tage="1..28"
elif month == 2:
monats_tage="1..29"
print "\t\tTag[$monats_tage] > " # Eingabe des Tages,mit Anzeige der moeglichen Eingaben
day=input()
if day < 1 or day >31: # Kleine Eingabekontrolle
{
print "\n\n\t\tSie haben eine falsche Eingabe getätigt. Programm wird beendet.\n\n"
sys.exit
}
elif month == 2 and ((jahr % 4 !=0) or (jahr % 100 == 0 and jahr % 400 != 0)):
if day > 28:
print "\n\n\t\tDen $day.2.$jahr gibt es nicht. Programm wird beendet\n\n"
sys.exit
elif month == 2:
if day > 29:
print "\n\n\t\tDen $day.2.$jahr gibt es nicht. Programm wird beendet.\n\n"
sys.exit
elif (month == 1 or month==3 or month==5 or month==7 or month==8 or month==10 or month==12) and (day > 31):
print "\n\n\t\tDen $day.$month gibt es nicht. Programm wird beendet.\n\n"
sys.exit
elif month == 4 or month == 6 or month == 9 or month == 11) and day > 30:
print"\n\n\t\tDen $day.$month gibt es nicht. Programm wird beendet.\n\n"
sys.exit
print "\n\n"
print "\t\t\tDer $day.$month.$jahr war ein "; # Die Ausgabe des Tages :)
berechne()
def round(number): # Kleine Subroutine zum runden von Werten
return int(number + 0.5)
def berechne:
if month < 3: # Vorbereitung fuer die Berechnung der Tage unter Beruecksichtigung der Schaltjahre
schalt=day + month;
if jahr % 4 != 0 or (jahr % 100 == 0 and jahr % 400 != 0):
schalt=schalt+1
temp1=int((jahr-1600)/100)
temp2=int((jahr-1600)/400)
# Berechnung der Anzahl der Tage
anzahl=int(jahr * 365.25) - round((13-month) * 30.6)+ day - temp1 + temp2 + schalt
bla=$anzahl % 7 # Zahl zwischen 0 und 6 als Wochentag
# Ausgabe des berechneten Tages
if bla == 0:
print "Dienstag\n\n"
if bla == 1:
print "Mittwoch\n\n"
if bla == 2:
print "Donnerstag\n\n"
if bla == 3:
print "Freitag\n\n"
if bla == 4:
print "Samstag\n\n"
if bla == 5:
print "Sonntag\n\n"
if bla == 6:
print "Montag\n\n"