Ausgabe Wochentag in python?
Hallo zusammen!
Ich bin gerade an einer Aufgabe, bei welcher ich durch einen User-Input eine Zahl k zwischen 1-365 erhalte. Auf Grund dieser muss ich dann in der Konsole den Wochentag (die Zahl) ausgeben, wobei 0 = Sunday, 1 = Montag, 2 = Dienstag, 6 = Samstag usw.
Stehe hier irgendwie auf der Leitung :x
Danke für eure Inputs! :D
2 Antworten
Bei der Aufgabe geht‘s eigentlich nur um Modulo.
Das ist die Lösung:
(((userInput - 1) % 7) + 4) % 7
oder etwas vereinfacht:
(userInput + 3) % 7
-1, um aus „1 bis 365“ „0 bis 364“ zu machen, da die Range der Wochentage ebenfalls mit Null beginnt.
Modulo 7, um dadurch den Wochentag zu ermitteln.
Der nullte Tag wäre da jedoch ein Sonntag. Daher Plus 4 und Modulo 7, um den Wochentag vier Tage zu verschieben (So -> Do, Mo -> Fr, …), da es mit Donnerstag beginnt.
Da brauchst du mehr als nur eine Zahl, du musst auch das Jahr wissen, aber allgemien gibts dafür eine Formel: https://de.wikipedia.org/wiki/Wochentagsberechnung#:~:text=Um%20den%20Wochentag%20mit%20Hilfe,ganzzahligen%20Division%20%C3%BCbrig%20bleibt%20(z.
Oh stimmt, es startet beim Januar 1, welcher die Nummer 4 ist (Donnerstag)
Vielen Dank! Jetzt hab ichs verstanden :D