Also bevor ich meine Frage stelle: Ja, ich habe vorher nach ähnlichen Themen gesucht, aber nichts gefunden, was meine Frage beantwortet hat!
So. Es ist nämlich so, dass ich einen Code habe (ich will ihn jetzt noch nicht direkt reinstellen, ansonsten mach ich es noch) und ich es gerne so hätte, dass, bevor der Code ausgeführt wird, einfach in der Konsole gefragt wird wie oft er ausgeführt werden soll, also dass eben eine Zahl eingegeben werden kann, die dann genommen wird um zu bestimmen wie oft er ausgeführt wird. Keine Ahnung ob man den Text verstehen kann... Danke schon mal im Voraus.
(ich benutzte Python 3.9)
Code wiederholen mit input eingabe?
- noisefloor
- User
- Beiträge: 3856
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
du packt den Code in eine for oder while Schleife, fragst vorher, wie oft die Schleife durchlaufen werden soll und setzt den Schleifenzähler entsprechend.
Gruß, noisefloor
du packt den Code in eine for oder while Schleife, fragst vorher, wie oft die Schleife durchlaufen werden soll und setzt den Schleifenzähler entsprechend.
Gruß, noisefloor
Etwa in diese Richtung, wurde nicht getestet auch ist keine Abfrage drin, ob der Benutzer eine Zahl oder sonst etwas eingegeben hat. Das soll nur eine Möglichkeit darstellen:
Code: Alles auswählen
question = input('Wie oft soll sich der Code wiederholen?')
def main():
x = 0
while int(x) < int(question):
print(f'Ich muss {question} mal das Gleiche machen')
x += 1
if __name__ == '__main__':
main()
"When I got the music, I got a place to go" [Rancid, 1993]
- pillmuncher
- User
- Beiträge: 1484
- Registriert: Samstag 21. März 2009, 22:59
- Wohnort: Pfaffenwinkel
@Dennis89: Warum steht die Eingabe außerhalb von main()? Warum wandelst du die Eingabe immer wieder in ein int um, statt nur ein einziges Mal vor der Schleife? Warum wandelst du x, ein int, mittels int() in ein int um? Warum gibst du n mal aus, dass du n mal das Gleiche machen musst? Warum benutzt du keine for-Schleife?
In specifications, Murphy's Law supersedes Ohm's.
@Dennis89: Bei question erwarte ich keine Anzahl an Wiederholungen. Und `x` ist auch der falsche Name für eine Ganzzahl. Das ist eher ein Name für eine Kommazahl.
Code: Alles auswählen
def main():
loops = input('Wie oft soll sich der Code wiederholen?')
for k in range(int(loops)):
print(f'Ich muss {loops} mal das Gleiche machen.')
if __name__ == '__main__':
main()
Oh, ich habe ehrlich gesagt nicht erwartet, das ich bei einem simplen Beispiel so viele Fehler mache
@pillmuncher Deine ersten drei Fragen kann ich dir nicht mit einer sinnvollen Antwort beantworten. Das hätte ich selbst merken müssen und gleich richtig machen.
Die sich wiederholende Ausgabe habe ich gemacht, da ich demonstrieren wollte, dass sich der Code so oft wiederholt, wie in 'input' angegeben. Das war der Wunsch des Themenerstellers, wenn ich das richtig verstanden habe.
Zu deiner letzten Frage, bei der Überlegung wie man das Problem lösen könnte, ist mir als erstes meine Lösung eingefallen. An eine for-Schleife habe ich nicht gedacht.
@Sirius3 Ich sehe ein, das 'question' kein gut überlegter Name ist. 'x' habe ich mir als Variable zum zählen angewöhnt, gerade wenn ich nur etwas versuchen oder demonstrieren will. Dass das ein Namen für eine Kommazahl ist, ist mir neu. Werde ich mir aber für die Zukunft merken.
Vielleicht an dieser Stelle noch was zu mir. Ich bin in meinen Python-Anfängen und versuche hier nicht nur zu helfen, sondern sehe die Fragen auch als kleine Übungsaufgaben für mich. Daher bin ich euch über jede Kritik dankbar. Wenn ich euch aber damit unnötig mehr Arbeit mache, weil meine Beiträge nicht wirklich zur Lösung beitragen, sondern eher verwirren, dann teilt mir das bitte mit und ich bleibe stiller Mitleser.
Grüße
Dennis
@pillmuncher Deine ersten drei Fragen kann ich dir nicht mit einer sinnvollen Antwort beantworten. Das hätte ich selbst merken müssen und gleich richtig machen.
Die sich wiederholende Ausgabe habe ich gemacht, da ich demonstrieren wollte, dass sich der Code so oft wiederholt, wie in 'input' angegeben. Das war der Wunsch des Themenerstellers, wenn ich das richtig verstanden habe.
Zu deiner letzten Frage, bei der Überlegung wie man das Problem lösen könnte, ist mir als erstes meine Lösung eingefallen. An eine for-Schleife habe ich nicht gedacht.
@Sirius3 Ich sehe ein, das 'question' kein gut überlegter Name ist. 'x' habe ich mir als Variable zum zählen angewöhnt, gerade wenn ich nur etwas versuchen oder demonstrieren will. Dass das ein Namen für eine Kommazahl ist, ist mir neu. Werde ich mir aber für die Zukunft merken.
Vielleicht an dieser Stelle noch was zu mir. Ich bin in meinen Python-Anfängen und versuche hier nicht nur zu helfen, sondern sehe die Fragen auch als kleine Übungsaufgaben für mich. Daher bin ich euch über jede Kritik dankbar. Wenn ich euch aber damit unnötig mehr Arbeit mache, weil meine Beiträge nicht wirklich zur Lösung beitragen, sondern eher verwirren, dann teilt mir das bitte mit und ich bleibe stiller Mitleser.
Grüße
Dennis
"When I got the music, I got a place to go" [Rancid, 1993]
- pillmuncher
- User
- Beiträge: 1484
- Registriert: Samstag 21. März 2009, 22:59
- Wohnort: Pfaffenwinkel
@Dennis89: Bu brauchst dich nicht zu schämen. Bedenke: Ein Experte ist jemand, der in seinem Fachgebiet jeden überhaupt möglichen Fehler mindestens einmal gemacht hat.
In specifications, Murphy's Law supersedes Ohm's.
- __blackjack__
- User
- Beiträge: 13103
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@Dennis89: Diese Erwartungen an Namen wie `x` kommen aus der Mathematik und da steht das üblicherweise für eine reelle Zahl. Zum Beispiel bei Funktionsargumenten `f(x)` oder wenn es Teil einer Koordinate `(x, y)` ist. Während `i`, `j`, und `k` üblicherweise für ganze Zahlen/Indices verwendet werden. `n` und `m` stehen auch oft für eine ganze Zahl oder Anzahl.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Da ist was dran, sehr guter Spruchpillmuncher hat geschrieben: ↑Samstag 9. Januar 2021, 21:42 @Dennis89: Bu brauchst dich nicht zu schämen. Bedenke: Ein Experte ist jemand, der in seinem Fachgebiet jeden überhaupt möglichen Fehler mindestens einmal gemacht hat.
@__blackjack__ Okay wenn man es so betrachtet, dann leuchtet es ein. Werde weiterhin versuchen aussagekräftige Namen zu verwenden.
Danke für die Erklärung, mir war zwar bewusst dass das Informatik-Studium auch stark von Mathematik geprägt ist, aber an die Namensgebung habe ich in diesem Zusammenhang nicht gedacht.
Grüße
Dennis
"When I got the music, I got a place to go" [Rancid, 1993]