hallo Pythongemeinde,
folgende Frage:
wie kann ich einzeln und auf Befehl die Elemente einer Liste ( [ 2, 33, 14, 25, usw.] ) der Reihe nach von links nach rechts aufrufen,
ohne das Programm immer neu starten zu müssen?
vielen Dank im Voraus ...
ps.: bin kein Student oder Schüler .. der sichs einfach machen will ...
Ausgabe von Listenelementen
- __blackjack__
- User
- Beiträge: 13103
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@haeuslermartin: Ich verstehe die Frage nicht. Wie soll denn neu starten des Programms dabei helfen?
Zahlen kann man grundsätzlich nicht aufrufen — was sollte da auch passieren wenn man die 2 aufruft?
Und falls Du eigentlich eine Schleife über die Elemente einer Liste suchst: Du musst kein Schüler oder Student sein um es Dir zu einfach zu machen. So etwas wird in jedem Grundlagentutorial behandelt. Es gibt eines in der Python-Dokumentation, das sollte man mal durchgearbeitet haben.
Zahlen kann man grundsätzlich nicht aufrufen — was sollte da auch passieren wenn man die 2 aufruft?
Code: Alles auswählen
In [359]: i = 2
In [360]: i()
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Input In [360], in <cell line: 1>()
----> 1 i()
TypeError: 'int' object is not callable
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
-
- User
- Beiträge: 66
- Registriert: Sonntag 21. April 2013, 10:12
das Problem ist, dass bei einer Schleife alle Elemente der Reihe nach ohne Unterbrechung dargestellt werden, das aber will ich nicht.
Es sollte doch eine Möglichkeit geben, mit einem Befehl /Event/Input - oder was auch immer- die jeweils nächste Zahl aufzurufen ...
natürlich, mit print(liste[0]) bekomme ich das erste Element, dann muß ich das Programm immer wieder neu starten, den Index eintragen, liste[1], liste[2], usw. ...
Super umständlich ...
mein Problem sollte eigentlich jetzt zu verstehen sein ...
Es sollte doch eine Möglichkeit geben, mit einem Befehl /Event/Input - oder was auch immer- die jeweils nächste Zahl aufzurufen ...
natürlich, mit print(liste[0]) bekomme ich das erste Element, dann muß ich das Programm immer wieder neu starten, den Index eintragen, liste[1], liste[2], usw. ...
Super umständlich ...
mein Problem sollte eigentlich jetzt zu verstehen sein ...
Nein, Dein Problem ist noch nicht verständlich. Willst Du nun ein Programm nicht immer wieder neu starten? Oder willst Du beim Neustart eines Programms immer den nächsten Wert?
Denn ich würde bei der selben Antwort bleiben: mit einer Schleife wird immer die nächste Zahl "aufgerufen". Du willst, dass das automatisch passiert, aber doch nicht so automatisch wie mit einer Schleife. Was soll also passieren, dass die nächste Zahl benutzt wird?
Denn ich würde bei der selben Antwort bleiben: mit einer Schleife wird immer die nächste Zahl "aufgerufen". Du willst, dass das automatisch passiert, aber doch nicht so automatisch wie mit einer Schleife. Was soll also passieren, dass die nächste Zahl benutzt wird?
Möchtest du einfach eine Schleife über alle Elemente und innerhalb dieser Schleife ein `input` das dann auf einen Tastendruck wartet, bevor das Programm weiterläuft? In dem Fall würde ich sagen: Warum schreibst du dann nicht einfach so ein Programm? Oder ist es doch ganz etwas anderes?
-
- User
- Beiträge: 66
- Registriert: Sonntag 21. April 2013, 10:12
genau das letztere möchte ich, weiß aber nicht, wie ich das machen soll und bitte um einen Vorschlag ... wenn ich so ein Programm schreiben könnte, würde ich ja nicht um Hilfe bitten ...
-
- User
- Beiträge: 66
- Registriert: Sonntag 21. April 2013, 10:12
ich habe mit keinem Wort geschrieben, dass ich Elemente der Liste nicht mehr haben will, ich will dass sie ausgedruckt werden, aber eben nicht automatisch, sondern auf Befehl
-
- User
- Beiträge: 66
- Registriert: Sonntag 21. April 2013, 10:12
ein Befehl ...Sirius3 hat geschrieben: ↑Donnerstag 29. September 2022, 14:20 Nein, Dein Problem ist noch nicht verständlich. Willst Du nun ein Programm nicht immer wieder neu starten? Oder willst Du beim Neustart eines Programms immer den nächsten Wert?
Denn ich würde bei der selben Antwort bleiben: mit einer Schleife wird immer die nächste Zahl "aufgerufen". Du willst, dass das automatisch passiert, aber doch nicht so automatisch wie mit einer Schleife. Was soll also passieren, dass die nächste Zahl benutzt wird?
-
- User
- Beiträge: 66
- Registriert: Sonntag 21. April 2013, 10:12
genau das letztere möchte ich, weiß aber nicht, wie ich das machen soll und bitte um einen Vorschlag ... wenn ich "einfach" so ein Programm schreiben könnte, würde ich ja nicht um Hilfe bitten .../me hat geschrieben: ↑Donnerstag 29. September 2022, 16:35 Möchtest du einfach eine Schleife über alle Elemente und innerhalb dieser Schleife ein `input` das dann auf einen Tastendruck wartet, bevor das Programm weiterläuft? In dem Fall würde ich sagen: Warum schreibst du dann nicht einfach so ein Programm? Oder ist es doch ganz etwas anderes?
Code: Alles auswählen
for number in [2, 33, 14, 25, ]:
print(number)
_ = input("mit Enter weiter")
- __blackjack__
- User
- Beiträge: 13103
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@haeuslermartin: Dann würde ich noch mal auf das Tutorial in der Dokumentation hinweisen wollen, oder vielleicht auch einfach ein anderes Hobby suchen, denn Du hast ja vor drei Jahren schon mal geschrieben, dass Du mit 68 kein Python-Experte mehr werden willst. Wenn die Motivation nicht reicht sich *das* da selbst zu erarbeiten, dann wird das nix mit dem Programmieren.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Schau mal, das sind absolute Grundlagen, die du im Tutorial findest. Meiner Meinung nach ist es nicht sinnvoll, hier im Forum einen speziell auf eine Person zugeschnittenen Einsteigerkurs durchzuführen. Dafür gibt es wirklich bessere Möglichkeiten.haeuslermartin hat geschrieben: ↑Donnerstag 29. September 2022, 18:09 genau das letztere möchte ich, weiß aber nicht, wie ich das machen soll und bitte um einen Vorschlag ... wenn ich "einfach" so ein Programm schreiben könnte, würde ich ja nicht um Hilfe bitten ...
Da hier ein Alter von 68 in den Raum gestellt wurde kann ich dazu nur anmerken, dass das kein Grund ist. Ein Freund von mir hat mit 70 angefangen und war nach 2 Tagen um Längen weiter als du jetzt bist(*). Ich möchte dir nicht zu nahe treten, aber bist du wirklich sicher, dass du programmieren lernen willst?
(*) Wir reden hier von einem funktionierenden Einsatz von paramiko!
-
- User
- Beiträge: 66
- Registriert: Sonntag 21. April 2013, 10:12
ok, das mit den 2 Tagen halte ich für einen Witz, ich habe "python for Kids" durchgearbeitet und das geht schon nicht in zwei Tagen, und dort werden zwar Schleifen beschrieben, aber keineswegs wie man per input die Ergebnisse einzeln bekommt ... ich will auch keinen Unterricht, sondern lediglich einen Tipp (ich hab ja schon einiges versucht mit while und for Schleifen mit "next" aber keine Lösung gefunden. Wenn das hier ein Elfenbeinturm für Experten ist, die sich oberlehrerhaft weigern was von ihrem hochverehrtem Wissen preiszugeben, dann werde ich mich hier auch nicht mehr um Hilfe bemühen .../me hat geschrieben: ↑Donnerstag 29. September 2022, 21:43Schau mal, das sind absolute Grundlagen, die du im Tutorial findest. Meiner Meinung nach ist es nicht sinnvoll, hier im Forum einen speziell auf eine Person zugeschnittenen Einsteigerkurs durchzuführen. Dafür gibt es wirklich bessere Möglichkeiten.haeuslermartin hat geschrieben: ↑Donnerstag 29. September 2022, 18:09 genau das letztere möchte ich, weiß aber nicht, wie ich das machen soll und bitte um einen Vorschlag ... wenn ich "einfach" so ein Programm schreiben könnte, würde ich ja nicht um Hilfe bitten ...
Da hier ein Alter von 68 in den Raum gestellt wurde kann ich dazu nur anmerken, dass das kein Grund ist. Ein Freund von mir hat mit 70 angefangen und war nach 2 Tagen um Längen weiter als du jetzt bist(*). Ich möchte dir nicht zu nahe treten, aber bist du wirklich sicher, dass du programmieren lernen willst?
(*) Wir reden hier von einem funktionierenden Einsatz von paramiko!
Hallo,
Sirius3 hat dir doch sogar ein Code geschrieben, der das macht was du willst.
Darf man erfahren was der Sinn dahinter ist? Ich kann mir gerade kein Beispiel vorstellen, in dem es (für mich) Sinn macht, das ich immer Enter drücken muss.
Grüße
Dennis
Sirius3 hat dir doch sogar ein Code geschrieben, der das macht was du willst.
Darf man erfahren was der Sinn dahinter ist? Ich kann mir gerade kein Beispiel vorstellen, in dem es (für mich) Sinn macht, das ich immer Enter drücken muss.
Grüße
Dennis
"When I got the music, I got a place to go" [Rancid, 1993]
- __blackjack__
- User
- Beiträge: 13103
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@haeuslermartin: Wenn Du weisst was eine ``for``-Schleife macht, und weisst was `input()` macht, also nicht nur theoretisch, sondern praktisch angewendet, dann brauchst Du keine Extrabeschreibung mehr wie man `input()` in einer ``for``-Schleife benutzt. Das ergibt sich daraus logisch, und das ist kein komplexer Zusammenhang. Den Hinweis wie man das macht hast Du von /me bekommen. Zitat: „Möchtest du einfach eine Schleife über alle Elemente und innerhalb dieser Schleife ein `input` das dann auf einen Tastendruck wartet, bevor das Programm weiterläuft?“ Da steht wörtlich wie das Programm aussehen muss. Das hat nichts mit Experten und Elfenbeiturm zu tun, das sind die Grundlagen, die Du Dir letztendlich selbst erarbeiten musst. Das kann niemand anderes für Dich übernehmen.
Das ist kein Geheimwissen und hier versucht auch keiner das zu verbergen. Es wurde auf das Tutorial in der Python-Dokumentation hingewiesen. Alternativ gibt es noch eine ganze Menge anderer Quellen für den Einstieg. Auch vieles was qualitativ nicht so gut ist, aber die Grundlagen für die Lösung dieses konkreten Problems sollte man auch aus den schlechten Einführungen in die Python-Programmierung entnehmen können.
Das Du was versucht hast und was genau das war können wir nicht wissen wenn Du das nicht zeigst. Wenn Du keinen konkreten Code zeigst, genau beschreibst was passiert, und wie das von Deinen Erwartungen abweicht, und warum Du da was anderes erwartet hast, weiss hier auch keiner wo der Denkfehler liegt. Warum die zitierte Beschreibung von /me nicht in eine Lösung umgesetzt werden kann, ist für mich beispielsweise nicht wirklich nachvollziehbar. Und nicht nur weil das für mich kein Problem ist, sondern weil ich weiss, das Anfänger das umsetzen können, wenn sie ``for`` und `input()` kennen.
@Dennis89: Vielleicht ist die Ausgabe ja nicht nur diese eine Zahl, sondern ein bisschen mehr. Oder der Benutzer soll sich Gedanken machen wie nächste Zahl aussieht. Oder die Zahlen werden als Eingabe für ein anderes Programm berechnet, wo der Benutzer sie dann der Reihe nach eintragen muss, und man kommt halt leicht durcheinander wenn man zwischen zwei Fenstern hin und her schaut und in einem 20 Zahlen angezeigt werden und man sich merken muss welche man schon verwendet hat und welche noch nicht. Da gibt's schon eine Menge Gründe warum man dem Benutzer immer ein Ergebnis auf Anfrage liefern möchte, nicht alles auf einmal ins Terminal kippt.
Das ist kein Geheimwissen und hier versucht auch keiner das zu verbergen. Es wurde auf das Tutorial in der Python-Dokumentation hingewiesen. Alternativ gibt es noch eine ganze Menge anderer Quellen für den Einstieg. Auch vieles was qualitativ nicht so gut ist, aber die Grundlagen für die Lösung dieses konkreten Problems sollte man auch aus den schlechten Einführungen in die Python-Programmierung entnehmen können.
Das Du was versucht hast und was genau das war können wir nicht wissen wenn Du das nicht zeigst. Wenn Du keinen konkreten Code zeigst, genau beschreibst was passiert, und wie das von Deinen Erwartungen abweicht, und warum Du da was anderes erwartet hast, weiss hier auch keiner wo der Denkfehler liegt. Warum die zitierte Beschreibung von /me nicht in eine Lösung umgesetzt werden kann, ist für mich beispielsweise nicht wirklich nachvollziehbar. Und nicht nur weil das für mich kein Problem ist, sondern weil ich weiss, das Anfänger das umsetzen können, wenn sie ``for`` und `input()` kennen.
@Dennis89: Vielleicht ist die Ausgabe ja nicht nur diese eine Zahl, sondern ein bisschen mehr. Oder der Benutzer soll sich Gedanken machen wie nächste Zahl aussieht. Oder die Zahlen werden als Eingabe für ein anderes Programm berechnet, wo der Benutzer sie dann der Reihe nach eintragen muss, und man kommt halt leicht durcheinander wenn man zwischen zwei Fenstern hin und her schaut und in einem 20 Zahlen angezeigt werden und man sich merken muss welche man schon verwendet hat und welche noch nicht. Da gibt's schon eine Menge Gründe warum man dem Benutzer immer ein Ergebnis auf Anfrage liefern möchte, nicht alles auf einmal ins Terminal kippt.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
-
- User
- Beiträge: 66
- Registriert: Sonntag 21. April 2013, 10:12
bis hierher:__blackjack__ hat geschrieben: ↑Freitag 30. September 2022, 11:32 @haeuslermartin: Wenn Du weisst was eine ``for``-Schleife macht, und weisst was `input()` macht, also nicht nur theoretisch, sondern praktisch angewendet, dann brauchst Du keine Extrabeschreibung mehr wie man `input()` in einer ``for``-Schleife benutzt. Das ergibt sich daraus logisch, und das ist kein komplexer Zusammenhang. Den Hinweis wie man das macht hast Du von /me bekommen. Zitat: „Möchtest du einfach eine Schleife über alle Elemente und innerhalb dieser Schleife ein `input` das dann auf einen Tastendruck wartet, bevor das Programm weiterläuft?“ Da steht wörtlich wie das Programm aussehen muss. Das hat nichts mit Experten und Elfenbeiturm zu tun, das sind die Grundlagen, die Du Dir letztendlich selbst erarbeiten musst. Das kann niemand anderes für Dich übernehmen.
Das ist kein Geheimwissen und hier versucht auch keiner das zu verbergen. Es wurde auf das Tutorial in der Python-Dokumentation hingewiesen. Alternativ gibt es noch eine ganze Menge anderer Quellen für den Einstieg. Auch vieles was qualitativ nicht so gut ist, aber die Grundlagen für die Lösung dieses konkreten Problems sollte man auch aus den schlechten Einführungen in die Python-Programmierung entnehmen können.
Das Du was versucht hast und was genau das war können wir nicht wissen wenn Du das nicht zeigst. Wenn Du keinen konkreten Code zeigst, genau beschreibst was passiert, und wie das von Deinen Erwartungen abweicht, und warum Du da was anderes erwartet hast, weiss hier auch keiner wo der Denkfehler liegt. Warum die zitierte Beschreibung von /me nicht in eine Lösung umgesetzt werden kann, ist für mich beispielsweise nicht wirklich nachvollziehbar. Und nicht nur weil das für mich kein Problem ist, sondern weil ich weiss, das Anfänger das umsetzen können, wenn sie ``for`` und `input()` kennen.
@Dennis89: Vielleicht ist die Ausgabe ja nicht nur diese eine Zahl, sondern ein bisschen mehr. Oder der Benutzer soll sich Gedanken machen wie nächste Zahl aussieht. Oder die Zahlen werden als Eingabe für ein anderes Programm berechnet, wo der Benutzer sie dann der Reihe nach eintragen muss, und man kommt halt leicht durcheinander wenn man zwischen zwei Fenstern hin und her schaut und in einem 20 Zahlen angezeigt werden und man sich merken muss welche man schon verwendet hat und welche noch nicht. Da gibt's schon eine Menge Gründe warum man dem Benutzer immer ein Ergebnis auf Anfrage liefern möchte, nicht alles auf einmal ins Terminal kippt.
for number in [2, 33, 14, 25, ]:
print(number)
= input("mit Enter weiter")
hatte ich das auch schon, aber das
"_"
hatte ich nicht auf dem Schirm, ein kleines aber wichtiges Detail, ohne dem halt nicht geht und man verzweifelt sucht ... danke trotz allem, Missverständnisse eingeschlossen ...
Das _ ist nichts magisches, das ist eine Variable wie jede andere auch, nur hier möchte ich explizit sagen, dass der Rückgabewert, den input liefert, nicht weiter verwendet wird, weil sonst der nächste Leser sich wundert, warum da ein input steht, aber mit der Eingabe dann nichts gemacht wird. Kann man auch weglassen, dann muß man aber das = auch weglassen.
- __blackjack__
- User
- Beiträge: 13103
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@haeuslermartin: Die Zuweisung des Ergebnisses von `input()` ist kein wichtiges Detail. Das kann man weg lassen, was wohl viele Anfänger einfach machen würden, oder sie würden halt einen anderen sinnlosen Namen verwenden, wenn ihnen nicht klar ist, das man nicht gezwungen ist das Ergebnis an einen Namen zu binden wenn man es nicht braucht.
Wenn Du es bis dahin schon hattest, was ich Dir jetzt einfach mal nicht glaube, hättest dazu konkret halt auch eine Frage stellen können. Eben da wo Du nicht weiter kommst.
Wenn Du es bis dahin schon hattest, was ich Dir jetzt einfach mal nicht glaube, hättest dazu konkret halt auch eine Frage stellen können. Eben da wo Du nicht weiter kommst.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
-
- User
- Beiträge: 66
- Registriert: Sonntag 21. April 2013, 10:12
der Hintergrund ist folgender:Sirius3 hat geschrieben: ↑Freitag 30. September 2022, 12:19 Das _ ist nichts magisches, das ist eine Variable wie jede andere auch, nur hier möchte ich explizit sagen, dass der Rückgabewert, den input liefert, nicht weiter verwendet wird, weil sonst der nächste Leser sich wundert, warum da ein input steht, aber mit der Eingabe dann nichts gemacht wird. Kann man auch weglassen, dann muß man aber das = auch weglassen.
ich habe eine Reihe von tatsächlich in der Spielbank gefallener Roulettezahlen, - keine vom Zufallsgenerator erzeugten. Jetzt will ich damit Roulette spielen, dafür darf ich aber das jeweils nächste Ergebnis nicht kennen,
mit dem input rufe ich die nächste Zahl auf ...