Hallo zusammen, ich muss für das Studium über Weihnachten einen Kalender programmieren.
Wir haben leider keine wirkliche Vorlesung dazu und das ist so der erste Kontakt mit dem Programmieren, den ich habe, ich bin also recht grottig darin ;D
Die gleiche Aufgabe wurde letztes Jahr schonmal hier gefragt, allerdings kam es zu keiner Lösung des Problems: viewtopic.php?f=11&t=39638
Ich würde mich sehr freuen, wenn mir jemand die Frage des Kollegen beantworten könnte.
Gruß noobie
Python Kalender programmieren
- __blackjack__
- User
- Beiträge: 13107
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@pythonnoobie: Da gab es doch Antworten, die den Fragesteller auch hätten weiterbringen müssen. Oder meinst Du mit Lösung, dass Dir das jemand komplett fertig serviert? Da lernst Du dann doch nichts bei, ausser das anscheinend andere Leute Deine Hausaufgaben für Dich lösen. Sicher nicht der Sinn von Hausaufgaben.
Wobei da ja sogar das Herzstück der Lösung als QBasic-Quelltext vorliegt. Leider mit der alten Codebox, und damit etwas unformatiert und ohne Syntaxhervorhebung. Also hier noch mal (mit einem zusätzlichen Kommentar):
Was hast Du denn schon und wo liegen die konkreten Probleme?
Wobei da ja sogar das Herzstück der Lösung als QBasic-Quelltext vorliegt. Leider mit der alten Codebox, und damit etwas unformatiert und ohne Syntaxhervorhebung. Also hier noch mal (mit einem zusätzlichen Kommentar):
Code: Alles auswählen
SUB Calendar(year AS INTEGER)
DIM month AS INTEGER, day AS INTEGER, firstWeekDay AS INTEGER
kw%=0
FOR month=1 TO 12
m$=MonthName(month)
PRINT SPACE$(11-(LEN(m$)+5)\2);m$;year
PRINT "KW So Mo Di Mi Do Fr Sa"
firstWeekDay=WeekDay(year,month,1)
IF firstWeekDay=0 THEN kw%=kw%+1
PRINT USING "##&";kw%;SPACE$(firstWeekDay*3);
FOR day=1 TO DaysInMonth(year,month)
' Diese Bedingung ist noch nicht ganz vollständig,
' da fehlt noch ein Sonderfall.
IF day<>1 AND (firstWeekDay+day-1) MOD 7=0 THEN
kw%=kw%+1
PRINT:PRINT USING "##";kw%;
END IF
PRINT USING "###";day;
NEXT
PRINT:PRINT
NEXT
END SUB
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
- DeaD_EyE
- User
- Beiträge: 1021
- Registriert: Sonntag 19. September 2010, 13:45
- Wohnort: Hagen
- Kontaktdaten:
In Python gibt es bereits ein Modul für Kalender:
Ich gehe von aus, dass du alle Funktionen selbst programmieren sollst, ansonsten wärst du jetzt mit der Arbeit fertig.
Berechnung von Wochentagen: https://www.youtube.com/watch?v=WMZsZBNCpEY
Ich bin nicht zu 100% sicher, ob in dem Video auch Beispiele in Python vorkommen.
Jedenfalls wird dort die Mathematik dahinter erklärt.
Code: Alles auswählen
import calender
cal = calendar.LocaleTextCalendar(2018)
cal.pryear(2018)
Berechnung von Wochentagen: https://www.youtube.com/watch?v=WMZsZBNCpEY
Ich bin nicht zu 100% sicher, ob in dem Video auch Beispiele in Python vorkommen.
Jedenfalls wird dort die Mathematik dahinter erklärt.
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server