Im einer while Schleife addieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
davk
User
Beiträge: 5
Registriert: Mittwoch 23. Februar 2022, 15:16

Hallo
Ich programmiere jetzt noch nicht sehr lang aber will in einer while Schleife einen Wert 0 immer um 1 erhöhen.
Ich hab leider noch nichts darüber gefunden deswegen frag ich Mal hier nach.
Danke schon mal
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ein Wert 0, der immer um 1 erhoet wird, ist immer nur 1. Wahrscheinlich willst du einen Wert immer um eins erhoehen, *angefangen* bei 0. Was hast du denn schon probiert?
Benutzeravatar
__blackjack__
User
Beiträge: 14078
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Also um da mal die Musterlösung für die Aufgabe zu zeigen wie sie momentan gestellt ist:

Code: Alles auswählen

while True:
    0 + 1
🙂
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
davk
User
Beiträge: 5
Registriert: Mittwoch 23. Februar 2022, 15:16

Ich hatte probiert:
while True:
coin = coin +1
Da es eine Variable ist funktioniert das ja nicht nehm ich an.
Sirius3
User
Beiträge: 18279
Registriert: Sonntag 21. Oktober 2012, 17:20

Warum glaubst Du, dass das nicht funktioniert? Hast Du es ausprobiert? Bekommst Du eine Fehlermeldung?

Code: Alles auswählen

coin = 0
while True:
    coin = coin + 1
    print(coin)
Benutzeravatar
Dennis89
User
Beiträge: 1562
Registriert: Freitag 11. Dezember 2020, 15:13

davk hat geschrieben: Donnerstag 24. Februar 2022, 10:42 Da es eine Variable ist funktioniert das ja nicht nehm ich an.
Grundsätzlich und unabhängig von Python ist eine Variable variabel in ihrem Zustand, Wert, etc. Und das heißt sie ist veränderlich und genau das Richtige für jemand, der einen Wert ändern möchte.

Grüße
Dennis
"When I got the music, I got a place to go" [Rancid, 1993]
Benutzeravatar
/me
User
Beiträge: 3561
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

davk hat geschrieben: Donnerstag 24. Februar 2022, 10:42

Code: Alles auswählen

while True:
    coin = coin +1
Bei der Zuweisung wird zunächst einmal der Wert auf der rechten Seite des Gleichheitszeichens ermittelt. Dieser Wert ist coin + 1. Das kann also folglich nur funktionieren, wenn coin bereits definiert ist. Das würde hier sinnvollerweise vor der Schleife passieren. Nach dem Ermitteln des Wertes von coin +1 wird dieser Wert coin zugewiesen. "Zugewiesen" ist dabei eigentlich das falsche Wort. Stell dir "coin" eher als Etikett vor, das jetzt an einen neuen Wert geklebt wird.

Sirius3 hat bereits Code gezeigt der funktioniert.
davk
User
Beiträge: 5
Registriert: Mittwoch 23. Februar 2022, 15:16

Ok ich probiers Mal danke euch.
davk
User
Beiträge: 5
Registriert: Mittwoch 23. Februar 2022, 15:16

Das hat Ansich funktioniert.
Wie schaff ich es das der Wert jedes Mal wenn die Schleife durchläuft sich um 1 erhöht.
Also wenn die Schleife zuende ist bzw. Pausiert wird und dann wieder losgeht.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Einfach nicht auf 0 setzen, wenn man das nicht will.
Benutzeravatar
/me
User
Beiträge: 3561
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

davk hat geschrieben: Freitag 25. Februar 2022, 14:22 Wie schaff ich es das der Wert jedes Mal wenn die Schleife durchläuft sich um 1 erhöht.
Also wenn die Schleife zuende ist bzw. Pausiert wird und dann wieder losgeht.
Du bist Anfänger und vermutlich deshalb eher unklar bei den Beschreibungen dessen was du eigentlich hast und was du erreichen möchtest. Bei dem bisher gezeigten Code hast du eine Endlosschleife. Wie beendet die sich bei dir? Brichst du das Programm ab? Ist deine Frage daher, wie du bei einem Neustart des Programms bei der bis dahin erreichten Nummer weitermachen kannst? Dafür müsstest du die Zahl während des Programmablaufs bei jeder Änderung speichern (z.B. in einer Datei) und beim Programmstart einlesen.
davk
User
Beiträge: 5
Registriert: Mittwoch 23. Februar 2022, 15:16

Ja genau.
Die Schleife wird bei einem Tastendruck 1 Mal ausgeführt.
Dann soll sich der Wert um 1 erhöhen.
Wenn man die Taste erneut drückt wieder um 1.
Wie mach ich das mit der Änderung Speichern?
Benutzeravatar
__blackjack__
User
Beiträge: 14078
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@davk: Was ist denn jetzt ein Tastendruck? Wo kommt der her? Wie wird der im Programm registriert? Beschreib doch mal allgemein was Du wie und womit machen willst.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Benutzeravatar
sparrow
User
Beiträge: 4540
Registriert: Freitag 17. April 2009, 10:28

@davk: Zeig doch mal, was du bisher für Code hast.
Antworten