Seite 1 von 1
Ja / Nein Abfrage am Ende
Verfasst: Mittwoch 5. August 2015, 07:59
von Varta
Hallöchen,
ich habe ein bisschen rumprobiert und rumgesucht, leider ohne Erfolg.
Ich möchte am Ende eine Scripts eine Abfrage mit den Antwortmöglichkeiten Y/N starten, bei Y wieder von vorne beginnen (neue Eingabe) und bei N breake.
Irgendwie funktioniert das ganze aber nicht mit einem einfachen
Über eure Hilfe wäre ich sehr dankbar.
Re: Ja / Nein Abfrage am Ende
Verfasst: Mittwoch 5. August 2015, 08:29
von sparrow
Ich sag das mal so:
1.
2. |||
3. |
4. |
5.
Das ist nur die Anzahl der Syntaxfehler.
Wenn du den Code zeigst, den du wirklich verwendest, dann können wir auch helfen.
Re: Ja / Nein Abfrage am Ende
Verfasst: Mittwoch 5. August 2015, 08:40
von cofi
Dein Problem laesst sich ganz einfach mit Funktionen loesen:
Code: Alles auswählen
def main():
# hauptprogramm
....
if __name__ == "__main__":
while True:
main()
repeat = raw_input()
if repeat.upper() != "Y":
break
Re: Ja / Nein Abfrage am Ende
Verfasst: Mittwoch 5. August 2015, 14:35
von pixewakb
Ich habe deinen Code mal korrigiert:
Code: Alles auswählen
x = raw_input("Benutzereingabe: ")
if x == "N":
# break
print "Wert war N!"
else:
# continue
print "Ich setze die Arbeit fort!"
print "Ende."
Du kannst diesen Code mal bei Dir eingeben und testen und damit rumspielen. Die Anweisungen
break und
continue kannst Du nur in Schleifen verwenden, sie machen auch nur dort Sinn. Schleifen sind while <Bedingung>: <Mach ...> oder for x in range(12): <Mach ...>. Bei der while-Schleife wird der Code-Block in der Schleife solange ausgeführt, bis eine Bedingung eingetreten ist; bei der for-Schleife wird der Code-Block x-Mal ausgeführt. Mit der break-Anweisung kannst Du eine Schleife abbrechen; mit der continue-Anweisung kannst Du die Ausführung eines Durchgangs der Schleife abbrechen.
Du findest hier ein
deutsches Tutorial mit einer konkreten Erklärung.
Wenn Du mich fragst: Du müsstest Dich noch mal mit den Grundlagen befassen. Aktuell stimmt die "Rechtschreibung" der Anweisungen noch nicht.
Re: Ja / Nein Abfrage am Ende
Verfasst: Mittwoch 5. August 2015, 14:41
von pixewakb
PS Du arbeitest mit einer if-else-Bedingung, suchst aber eigentlich eine while-Schleife, wenn ich Deine einleitenden Worte richtig verstehe.
Code: Alles auswählen
eingabe = "" # vorbelegt
print "1. Herangehensweise"
while eingabe != "N":
eingabe = raw_input("Bitte geben Sie Ihren Namen ein: ")
print "Name:", eingabe
print "2. Herangehensweise"
while True:
eingabe = raw_input("Bitte geben Sie Ihren Namen ein: ")
if eingabe == "N":
print "Sie haben das Programm beendet."
break
else:
print "Name:", eingabe
print "Hier geht es mit Deinem Programm weiter."
Ich habe mal ein Grundgerüst geschrieben. Ich hoffe, es ist verständlich, wie ich Dein Problem jeweils löse.
Re: Ja / Nein Abfrage am Ende
Verfasst: Mittwoch 5. August 2015, 14:43
von Varta
Danke, ich hatte nur irgendwie andauernde Syntaxfehler, kp was ich da gebastelt hatte. Habs jetzt so gelöst:
Code: Alles auswählen
while True:
#Hauptprogramm
x = raw_input('Nochmal? (Y/N)')
if x != "Y":
print "Bis zum nächsten mal!"
break
Re: Ja / Nein Abfrage am Ende
Verfasst: Mittwoch 5. August 2015, 15:27
von /me
Gewöhne dir direkt sinnvolle Namen für die Bezeichner an. x ist ein unpassender Name, answer wäre besser.
Re: Ja / Nein Abfrage am Ende
Verfasst: Donnerstag 6. August 2015, 12:45
von Kebap
Varta hat geschrieben:ich hatte nur irgendwie ... kp
Dein Code zeigt weiterhin ein
break innerhalb eines
if Blockes, wo es gar sinnlos ist, wie oben beschrieben.
Wenn du grade irgendwie keinen Plan hast, einfach nochmal die Grundlagen ansehen, und etwas drüber nachdenken...
edit: cofi hat Recht, siehe unten.
Re: Ja / Nein Abfrage am Ende
Verfasst: Donnerstag 6. August 2015, 12:54
von cofi
Da der `if` Block aber innerhalb einer `while` Schleife ist hat das `break` durchaus eine Funktion
@Varta: Die Funktion in meinem Beispiel war da nicht aus Spass. Sobald das Hauptprogramm laenger als 10 Zeilen ist, wird undurchsichtig warum genau da eine Schleife ist. Beispielsweise ob es nur eine Programmwiederholung ist oder tatsaechlich Teil des eigentlichen Programmes.