''' 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]:
break
Wahrscheinlich 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
Kommentare zum Post (Atom)
Keine Kommentare:
Kommentar veröffentlichen