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
Monatskalender
-
- User
- Beiträge: 1
- Registriert: Samstag 30. November 2019, 20:46
- Kontaktdaten:
Wenn die Tage pro Woche auch nebeneinander statt untereinader stehen dürfen würde ich das so machen:
Ergebnis:
oder man benutzt das Calender Modul:
Quelle des Codes from Calender Modul: https://www.w3resource.com/python-exerc ... ise-12.php
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))
https://stackoverflow.com/questions/591 ... -in-pythonSirius3 hat geschrieben: Donnerstag 5. Dezember 2019, 14:00 Hast Du noch die URL zur gelöschten Frage?
Da waren die gleichen Fehler drin wie in diesem Beitrag (mit 15 beginnende Spalte fehlend und die 28 doppelt).
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
@__deets__:
Glaube ab 10k Reputation kann man die sehen wenn man die URL hat.
#edit: https://stackoverflow.com/help/privileg ... ator-tools
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.
Etwas anderes ist es, das Internet als Recherchewerkzeug zu verwenden. Das tut der Threadstarter aber offensichtlich nicht.
- __blackjack__
- User
- Beiträge: 14052
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
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? 
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
@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.
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.
Lizenz: user contributions licensed under cc by-sa 4.0 with attribution required.
https://stackoverflow.com/questions/591 ... -in-python
Frage:
https://stackoverflow.com/questions/591 ... -in-python
Frage:
Antwort:user12484371 hat geschrieben: how can I print something like this in Python if the length is known?
I tried that but I don't know how to stop on 31Code: 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
Code: Alles auswählen
for i in range(1,8): print(i, i+7, i+21, i+27)
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.Sayandip Dutta hat geschrieben: As mentioned in the comment, if the desired output is this:You can do: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
NOTE: len is a python keyword, try avoiding naming your variables same as python keywords.Code: Alles auswählen
len_ = 31 list_ = list(range(1, days + 1)) for i in range(days//4): print(*list_[i::7])
Code: Alles auswählen
days = 31
for weekday in range(1, 8):
print(*range(weekday, days+1, 7))
- DeaD_EyE
- User
- Beiträge: 1240
- Registriert: Sonntag 19. September 2010, 13:45
- Wohnort: Hagen
- Kontaktdaten:
Solange der Betrug gelehrt, belohnt und gefördert wird, kann man den Kindern nichts vorwerfen.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.
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.
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
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. 