Seite 1 von 1
Monatskalender
Verfasst: Mittwoch 4. Dezember 2019, 21:57
von Zombielotl
Ich muss für die Schule einen Monatskalender programmieren, bei dem man den Tag an dem der Monat beginnt und die Länge angibt.
Die Frage ist, mit welcher Art von Schleifen soll ich verwenden? Ich habe mich schon die letzten tage damit beschäftigt habe aber keinen Lösungsweg gefunden der es so ausgibt wie es soll.
Es soll so geordnet ausgegeben werden(natürlich so dass sie immer gereiht untereinander stehen):
Anfang des Monats: 1 (Montag)
Dauer des Monats: 31
1 8 22 28
2 9 23 29
3 10 24 30
4 11 25 31
5 12 26
6 13 27
7 14 28
Ein paar kleine Tipps oder Bespiel Codes wären Nett
-Thanks
Re: Monatskalender
Verfasst: Mittwoch 4. Dezember 2019, 23:48
von Sirius3
Da Du schon weißt, wie oft die Schleife durchlaufen werden soll, bieten sich for-Schleifen mit range an. Anfangen kannst Du ja mit Anfang = 1. Wie sieht dort die Schleife für die erste Zeile aus?
Re: Monatskalender
Verfasst: Donnerstag 5. Dezember 2019, 09:24
von /me
Eine Antwort hat sich vermutlich erledigt. Der User hat keine Lust selber nachzudenken, daher auf Stackoverflow nach einer Anwort gefragt und nach Erhalt derselben die Frage gelöscht.
Re: Monatskalender
Verfasst: Donnerstag 5. Dezember 2019, 09:24
von Jankie
Wenn die Tage pro Woche auch nebeneinander statt untereinader stehen dürfen würde ich das so machen:
Code: Alles auswählen
anzahl_tage = int(input("Wie viele Tage hat der Monat?: "))
for i in range(1,anzahl_tage + 1):
if i % 7 == 1: print()
print(f"{i:>5}", end = " ")
Ergebnis:
Code: Alles auswählen
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
oder man benutzt das Calender Modul:
Code: Alles auswählen
import calendar
y = int(input("Input the year : "))
m = int(input("Input the month : "))
print(calendar.month(y, m))
Quelle des Codes from Calender Modul:
https://www.w3resource.com/python-exerc ... ise-12.php
Re: Monatskalender
Verfasst: Donnerstag 5. Dezember 2019, 14:00
von Sirius3
@/me: ah, dass der Lehrer nicht sieht, dass hier geschummelt wurde. Hast Du noch die URL zur gelöschten Frage?
Re: Monatskalender
Verfasst: Donnerstag 5. Dezember 2019, 14:34
von /me
Sirius3 hat geschrieben: Donnerstag 5. Dezember 2019, 14:00
Hast Du noch die URL zur gelöschten Frage?
https://stackoverflow.com/questions/591 ... -in-python
Da waren die gleichen Fehler drin wie in diesem Beitrag (mit 15 beginnende Spalte fehlend und die 28 doppelt).
Re: Monatskalender
Verfasst: Donnerstag 5. Dezember 2019, 15:18
von Sirius3
Ich wundere mich mal wieder, warum die Frage 5-Downvotes bekommen hat.
Immerhin ist das ja nur die halbe Lösung, da nur Monate, die mit Montag anfangen abgebildet werden.
Re: Monatskalender
Verfasst: Donnerstag 5. Dezember 2019, 15:23
von __deets__
@Sirius3: wie hast du die denn zu sehen bekommen? Ich bekomme nur die ist-geloescht-Seite.
Re: Monatskalender
Verfasst: Donnerstag 5. Dezember 2019, 15:27
von Jankie
Naja dann wird der Lehrer aber bestimmt hier den Thread finden und wird merken dass er sich Unterstützung gesucht hat.
@__deets__:
Glaube ab 10k Reputation kann man die sehen wenn man die URL hat.
#edit:
https://stackoverflow.com/help/privileg ... ator-tools
Re: Monatskalender
Verfasst: Donnerstag 5. Dezember 2019, 15:52
von __deets__
Ah. Da fehlen noch ein paar 1000

Re: Monatskalender
Verfasst: Donnerstag 5. Dezember 2019, 17:09
von rogerb
Die Fähigkeit, im Internet nach Problemlösungen zu suchen und zu finden, sollte mit einer guten Note belohnt werden.
Re: Monatskalender
Verfasst: Donnerstag 5. Dezember 2019, 18:42
von sparrow
Im Internet ohne jeglichen Einsatz nach einer Lösung zu fragen und die dann zu übernehmen ist in meinen Augen keine Leistung, die irgendwie gut benotet werden sollte.
Etwas anderes ist es, das Internet als Recherchewerkzeug zu verwenden. Das tut der Threadstarter aber offensichtlich nicht.
Re: Monatskalender
Verfasst: Donnerstag 5. Dezember 2019, 21:53
von rogerb
Er hat ja geschrieben, er hätte sich mehrere Tage selbst mit dem Thema beschäftigt und dann hier nach Tipps gefragt. Von einer kompletten Lösung war nie die Rede.
Re: Monatskalender
Verfasst: Donnerstag 5. Dezember 2019, 22:14
von Sirius3
@rogerb: und er ignoriert die Hilfe und fragt lieber dort, wo es dann die Musterlösung geliefert wird.
Re: Monatskalender
Verfasst: Donnerstag 5. Dezember 2019, 22:27
von __blackjack__
Ist die Musterlösung auf SO denn auch noch einsehbar? Wie verhält es sich da mit dem Urheberrecht? Würde die Lizenz es erlauben die Musterlösung hier zu veröffentlichen, so dass man sie finden kann wenn man danach sucht?

Re: Monatskalender
Verfasst: Donnerstag 5. Dezember 2019, 23:01
von rogerb
@Sirius3, er hat in verschiedenen Foren gefragt, 'ne Antwort erhalten und fertig.
Ob er die Musterlösung bekommt oder nur einen Ansatz, steht ja nicht in seiner Macht.
Als Fragesteller kann er auch selbst entscheiden was er mit seinen Posts macht.
Wie gesagt, als Lehrer fände ich es besser, wenn jemand um Hilfe bittet, als aufzugeben und gar keine Lösung zu finden.
Re: Monatskalender
Verfasst: Donnerstag 5. Dezember 2019, 23:07
von Sirius3
Lizenz: user contributions licensed under cc by-sa 4.0 with attribution required.
https://stackoverflow.com/questions/591 ... -in-python
Frage:
user12484371 hat geschrieben:
how can I print something like this in Python if the length is known?
Code: Alles auswählen
len = 31
1 8 22 28
2 9 23 29
3 10 24 30
4 11 25 31
5 12 26
6 13 27
7 14 28
I tried that but I don't know how to stop on 31
Antwort:
Sayandip Dutta hat geschrieben:
As mentioned in the comment, if the desired output is this:
Code: Alles auswählen
1 8 15 22 29
2 9 16 23 30
3 10 17 24 31
4 11 18 25
5 12 19 26
6 13 20 27
7 14 21 28
You can do:
Code: Alles auswählen
len_ = 31
list_ = list(range(1, days + 1))
for i in range(days//4):
print(*list_[i::7])
NOTE: len is a python keyword, try avoiding naming your variables same as python keywords.
Das Problem an dieser Lösung ist nicht nur der Umweg über die Liste, sondern auch, dass sie verkennt, dass nicht die Anzahl der Tage//4 die Anzahl der Wochentage bestimmt, sondern diese fix exakt sieben sind. Ein Glück, dass es keinen Monat mit 27 oder 35 Tagen gibt, denn dann funktioniert der Code nicht mehr. Dazu kommen noch die nichtssagenden Variablennamen.
Code: Alles auswählen
days = 31
for weekday in range(1, 8):
print(*range(weekday, days+1, 7))
Re: Monatskalender
Verfasst: Mittwoch 11. Dezember 2019, 15:07
von DeaD_EyE
sparrow hat geschrieben: Donnerstag 5. Dezember 2019, 18:42
Im Internet ohne jeglichen Einsatz nach einer Lösung zu fragen und die dann zu übernehmen ist in meinen Augen keine Leistung, die irgendwie gut benotet werden sollte.
Etwas anderes ist es, das Internet als Recherchewerkzeug zu verwenden. Das tut der Threadstarter aber offensichtlich nicht.
Solange der Betrug gelehrt, belohnt und gefördert wird, kann man den Kindern nichts vorwerfen.
Ehrliche Kinder sind im Nachteil und das war schon zu meiner Zeit so. Nur war das Ausmaß nicht so extrem wie heute.
Die verarschen sich alle selbst, wenn sie im Internet nach Lösungen suchen.
Re: Monatskalender
Verfasst: Mittwoch 11. Dezember 2019, 15:32
von snafu
Falls man später nur Webseiten mit PHP und Javascript entwickeln will oder es wie hier bloß um ein Pflichtfach geht und man da eigentlich keine Lust drauf hat, dann kommt man mit diesem "Ansatz" glaub ich ganz gut durch.
