''' Kursliste.py Tool: Kursliste Version: 0.1.0 Autor: pixewakb Lizenz: Nicht spezifiziert Beschreibung: Kleines Skript, das in einem gegebenen Zeitraum alle Wochentage ausgibt, an denen eine Seminarveranstaltung stattfinden könnte. Ferientage usw. werden nicht berücksichtigt. ''' import calendar # BENUTZEREINGABEN - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - startDatum = [2012,5,28] endDatum = [2012,7,13] wochentage = ["Dienstag"] # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - wochentag = {0:"Montag", 1:"Dienstag", 2:"Mittwoch", 3:"Donnerstag", 4:"Freitag", 5:"Samstag", 6:"Sonntag"} month = {1:"Januar", 2:"Februar", 3:"März", 4:"April", 5:"Mai", 6:"Juni", 7:"Juli", 8:"August", 9:"September", 10:"Oktober", 11:"Dezember", 12:"Dezember"} jahr = startDatum[0] monat = startDatum[1] while True: aktuellerMonat = calendar.monthcalendar(jahr,monat) for weak in aktuellerMonat: for wochentagnr, tag in enumerate(weak): if jahr == startDatum[0] and monat == startDatum[1] and tag < startDatum[2]: # Termin ist frueher als das Startdatum, also ausserhalb des Zeitraums pass elif jahr == endDatum[0] and monat == endDatum[1] and tag > endDatum[2]: # Termin ist spaeter als das Enddatum, also ausserhalb des Zeitraums pass else: # Wenn der Termin im Zeitraum liegt, dann pruefe if wochentag[wochentagnr] in wochentage and tag != 0: print(wochentag[wochentagnr][:2] + '., ' + str(tag).zfill(2) + '.' + str(monat).zfill(2) + '.') if monat == 12: jahr += 1 monat = 1 else: monat += 1 if jahr == endDatum[0] and monat > endDatum[1]: breakWahrscheinlich kann man die while-Schleife und die if-Bedingungen (code smell) weiter optimieren, ich habe aber gerade nicht die Zeit und Muße das sauber zu programmieren.
Dienstag, 22. Mai 2012
Kursliste
Ich habe mir ein Programm geschrieben, dass mir Kurslisten mit Wochentag und Datum für einen Zeitraum ausgibt. Ich benötige das fürs Kursprotokoll.
Abonnieren
Posts (Atom)