Hallo Zusammen,
weiß jemand wie ich dieses Problem lösen kann?
for n in Monat:
print("","","","","-",n,"findet am",Wochentag[n],"den",Tag[n],".","",Monat[n],"2022 statt.","Der Feiertag gilt",
Gültigkeit[n]+".","\n")
Ausgabe:
- Heilige drei Koenige findet am Sonntag den 6 . Januar 2022 statt. Der Feiertag gilt regional.
-> Problem: Nach der Zahl 6 ist ein Leerzeichen. Das möchte ich weg haben.
Ich habe probiert:
for n in Monat:
print("","","","","-",n,"findet am",Wochentag[n],"den",Tag[n]+".","",Monat[n],"2022 statt.","Der Feiertag gilt",
Gültigkeit[n]+".","\n")
-> Fehlermeldung
Danke vorab!
Formation ändern
`n` ist ein schlechter Name für einen Monat, die Frage ist aber, warum hat ein Monat einen Wochentag oder einen Tag?
Ich vermute mal, dass es sich bei Monat, Wochentag, Tag und Gültigkeit eigentlich um Wörterbücher handelt, wo es eigentlich ein einziges Wörterbuch sein sollte.
Für die Asugabe benutzt man Formatstrings:
Auch diese Datenstruktur ist noch nicht ideal, weil der Wochentag einfach aus dem Datum berechenbar ist und das Datum auf mehrere Schlüssel verteilt ist.
Ich vermute mal, dass es sich bei Monat, Wochentag, Tag und Gültigkeit eigentlich um Wörterbücher handelt, wo es eigentlich ein einziges Wörterbuch sein sollte.
Für die Asugabe benutzt man Formatstrings:
Code: Alles auswählen
FEIERTAGE = {
"Heilige drei Könige": {
"Wochentag": "Sonntag",
"Tag": "6",
"Monat": "Januar",
"Gültigkeit": "regional",
}
}
for feiertag, details in FEIERTAGE.items():
print(f"{feiertag} findet am {details['Wochentag']} den {details['Tag']}. {details['Monat']} 2022 statt. Der Feiertag gilt {details['Gültigkeit']}")
Code: Alles auswählen
import locale
from datetime import date as Date
FEIERTAGE = [
{
"Name": "Heilige drei Könige",
"Datum": Date(2022, 1, 6),
"Gültigkeit": "regional",
}
]
locale.setlocale(locale.LC_ALL, "")
for details in FEIERTAGE:
print(f"{details['Name']} findet am {details['Datum']:%A den %d. %B %Y} statt. Der Feiertag gilt {details['Gültigkeit']}")