123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- # 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
|