Python Kalender - Darstellung klappt nicht?
Hallo,
wir müssen heute Abend einen mit Python programmierten Kalender abgeben.
Leider hapert es bei mir noch an einer Stelle.
Und zwar die Darstellung.
Hier ist der Code:
https://textuploader.com/1on4p
Ich denke, dass wichtig anzumerken ist, dass wir jetzt noch die Grundlagen machen.
Soll heißen, dass wir noch nicht Befehle wie DEF, Dictionary, Execpt und return hatten.
Also die Grundlagen.
Die Ausgabe klappt, nur müssen die Datumszahlen unter den richtigen Tag!
Vielen Dank für die Antworten!
Schönen Abend.
2 Antworten
Die Ausgabe klappt, nur müssen die Datumszahlen unter den richtigen Tag!
Ändere:
print("")
for x in range(1, tage_zahl[monat-1]+1):
# if x == 1+1:
# print("\t", x1)
if monat_name == tag_name.index("Dienstag"):
print(" ]} ".format(:3d),x,end="")
if x < 10:
print("",x, end=" ")
if x > 9:
print(x, end=" ")
if not x % 7:
print(" ")
zu:
print("")
print(" "*(w-1),end="") # w-1 Tage befinden sich noch im Vormonat
for x in range(1, tage_zahl[monat-1]+1):
# if x == 1+1:
# print("\t", x1)
#if monat_name == tag_name.index("Dienstag"):
#print(" ]} ".format(:3d),x,end="")
if x < 10:
print("",x, end=" ")
if x > 9:
print(x, end=" ")
if not (x+w-1) % 7: # Tage des Vormonats dazuzählen
print(" ")
P.s.: Einen einfachen Kalender kannst du in Python auch so machen:
import calendar
c = calendar.LocaleTextCalendar(calendar.MONDAY)
print(c.formatmonth(2019,12))
w ist, lt deiner Formel von Wikipedia, der Wochentag (als Zahl) auf den der 1. fällt, d.h. w-1 sind die Tage die sich im Vormonat befinden.
Das Print gibt 3 Leerzeichen (Platz eines Tages in deiner Ausgabe) w-1 mal aus.
Du kannst das Ganze natürlich auch mit .format schreiben.
Btw.: Es ist mir gerade aufgefallen, sobald du einen Monat < 3 hast stimmt deine erste Ausgabe Jahr: nicht mehr.
Hallo,
vielen Dank für deine Antwort.
Die ganz kurze Variante (ganz unten) kann ich leider nicht verwenden.
Wäre zu schön gewesen...
Was soll der Kalender denn genau darstellen?
Oben sollen die Tage stehen und unter den Tagen sollen die Datumszahlen richtig eingereiht werden.
Hier der Code: https://textuploader.com/1on4p
Leider kann ich die Frage oben nicht ändern.
Kannst du mir vielleicht noch eine Frage beantworten:
Warum hast du das mit dem Mal gemacht?
print(" "*(w-1)