# Python 3.2 Programm Beenden/Neustarten



## Lemiewings (18. September 2011)

Hallo,
ich bin noch ganz frisch bei Python dabei und versuche momentan noch alle Kommandos und Schleifen ect. zu verinnerlichen.
Hab auch schon mit Hilfe meines Extra angeschafftem Buches mein erstes kleines Programm geschrieben .
Jetzt stehe ich nur vor im Titel genanntem Problem. Ich möchte das das Programm am ende des Durchlaufs bei der Eingabe von "Ende" sauber beendet wird und bei der Eingabe von "Neu" von vorne beginnt. Eigentlich nur eine Kleinigkeit aber ich komme trotz Herumexperimentiererei nicht auf die Lösung.
In diesem sinne, vielen Dank im voraus!


----------



## Freddycbv (19. September 2011)

Ich hab mich noch nicht so eingehend mit Python beschäftigt, also hier ein wenig Pseudocode:

```
//Variable Eingabe, in der später das "Ende" oder "Neu" reinkommt

Eingabe = "Neu"

//Hauptprogrammschleife, hier dein Programm reinbaun:
while Eingabe != "Ende":
    //hier Programm laufen lassen

    //Ende des Durchlaufs
    print("Programm wird mit "Ende" beendet, und mit "Neu" erneut gestartet")
    Eingabe = "xyz"; // Damit hier jetzt nichtmehr die alte Eingabe drinsteht
    while Eingabe != "Neu" or Eingabe != "Ende": // Solange die Eingabe nicht gültig ist, wird neu eingelesen
        Eingabe = raw_input("Wahl: ")
```
Wirst schon merken, wenn was ganz falsch ist (Syntax und so ^^).


----------



## Lemiewings (25. September 2011)

Entschuldigung das ich mich jetzt erst wieder melde. Also die Idee mit der while schleife ist schon mal gut, allerdings stehe ich jetzt vor dem Problem das ich nicht weiß wie ich eine Variable durch eine Benutzereingabe ändern kann.

Mein plan sieht momentan wie folgt aus


```
wiederholen = True
while wiederholen == True:
    # Das Programm
    print("'Ende' eingeben um zu beenden, oder 'Neu' für einen neuen Durchlauf.")
    # Hier würde ich dann die Variable "wiederholen" durch eingabe von "Ende" 
    auf False ändern und sagen sagen das bei "wiederholen ==  False" das Programm beendet werden soll. 
    Nur weiß ich nicht wie ich es hinbekomme das beim input() "ende" die Variable geändert wird.
```


----------



## Freddycbv (28. September 2011)

Du müsstest einen Zwischenschritt machen. Erst eine neue Varable des Types string erstellen(also string = "meine zeichenkette"), in diese per input einlesen, und dann per if-Anweisung überprüfen, ob der string den wert "Ende" hat, und in diesem Falle wiederholen auf false setzten.
Auch wenn ich denke, dass du es bis jetzt schon allein geschafft hast


----------

