# Simon Pense, Jeremy Gabrysch, Yulong Chunyu #!/usr/bin/python import time #Module werden importiert import calendar zeit = {'j':0,'m':0,'t':0,'s':0} #globale Variablen fuer Zeit grossmonat = [1,3,5,7,8,10,12] #Lange Monate kleinemonat = [4,6,7,9,11] #kurze Monate def zahlenproben(z): #Funktion zum Testen der eingegebenen Variable (ob Zahl oder nicht) try: a = int(z) return a except: print 'falsch eingeben,geben sie eine Zahlen!' def eingabe(): #Eingabefunktion while True: j = raw_input('geben sie die Jahre:') #Eingabe des Jahres j = zahlenproben(j) #Ueberpruefung mit zahlenprobe Funktion if j>2030 or j<1970: #Eingrenzung der Jahre zwischen 1970 und 2030 print 'die Zeit wird in 1970-2030 begrenztet.' else: zeit['j'] = j #Jahreszahl wird eingelesen break #Beenden der Schleife schaltjahr() #Ueberpruefen ob es ein Schaltjahr ist while True: #Eingabe des Monats m = raw_input('geben sie die Monat:') m = zahlenproben(m) if m>12 or m<1: print 'geben sie bitte die richtig Monat!' else: zeit['m'] = m break while True: #Eingabe des Tages t = raw_input('geben sie das Tag:') t = zahlenproben(t) if m in grossmonat: #Ueberpruefen ob es ein langer Monat ist if t>31 or t<1: print 'falsch eingeben!' else: zeit['t'] = t break elif m in kleinemonat: #Ueberpruefung ob es ein kurzer Monat ist if t>30 or t<1: print 'falsch eingeben!' else: zeit['t'] = t break else: #Anzahl der Tage des Februars bei Nicht-Schaltjahr if zeit['s'] ==0 : if t>28 or t<1: print 'falsch eingeben!' else: zeit['t'] = t break else: if t>29 or t<1: #Anzahl der Tage des Februars bei Schaltjahr print 'falsch eingeben!' else: zeit['t'] = t break def schaltjahr(): #Funktion zur Ueberpruefung ob es sich um ein Schaltjahr handelt if zeit['j']%4 == 0 or zeit['j']%400 == 0 and zeit['j']%100 != 0 : #In der Aufgabenstellung gegebene Berechnungsformel zeit['s'] = 1 #Schaltjahr else: zeit['s'] = 0 #Nicht-Schaltjahr def ausgabe(): #Funktion fuer die Ausgabe print 'gegebende Datum ist %s-%s-%s' % (zeit['j'],zeit['m'],zeit['t']) #Ausgabe des Datums if zeit['s'] == 0: #kein Schaltjahr print '%s ist nicht Schaltjahr' %(zeit['j']) else: print '%s ist Schaltjahr' %(zeit['j']) wochetag() #Start der Wochentagsfunktion def wochetag(): w = calendar.weekday(zeit['j'],zeit['m'],zeit['t']) #Kalendermodul wochetag = ['Mon','Tue','Wen','Thr','Fri','Sat','Son'] #Liste der Wochentage print 'diese Tag ist %s' % (wochetag[w]) #Ausgabe des Wochentages #Main Funktion print "WillKommen!" #Titel print 'diese Programm kann die Schaltejahr und die Wochetage bestimmen' print 'die Zeitraum von 1970 bis 2030!' while True: eingabe() #Start der Eingabefunktion ausgabe() #Start de Ausgabefunktion s = raw_input('moechten sie diese Programm noch einmal laufen?(y/n)') #Soll das Programm erneut starten? if s == 'y' or s == 'Y': #Eingabe ob ja pass elif s == 'n' or s == 'N': #oder nein break else: break #Beenden der Schleife