it-swarm.com.de

Python: Wie wiederholt man ein Programm, bis eine bestimmte Eingabe erhalten wird?

Ich habe eine Funktion, die Eingaben auswertet, und ich muss sie immer nach ihren Eingaben fragen und diese auswerten, bis sie eine leere Zeile eingeben. Wie kann ich das einrichten?

while input != '':
    evaluate input

Ich dachte daran, so etwas zu verwenden, aber es funktionierte nicht genau. Irgendeine Hilfe?

7
user3033494

Dafür gibt es zwei Möglichkeiten. Zuerst ist es so:

while True:             # Loop continuously
    inp = raw_input()   # Get the input
    if inp == "":       # If it is a blank line...
        break           # ...break the loop

Die zweite ist wie folgt:

inp = raw_input()       # Get the input
while inp != "":        # Loop until it is a blank line
    inp = raw_input()   # Get the input again

Wenn Sie mit Python 3.x arbeiten, müssen Sie raw_input durch input ersetzen.

17
iCodez

sie möchten wahrscheinlich einen separaten Wert verwenden, der nachverfolgt, ob die Eingabe gültig ist:

good_input = None
while not good_input:
     user_input = raw_input("enter the right letter : ")
     if user_input in list_of_good_values: 
        good_input = user_input
1
theodox

Einfacher Weg:

#required_number = 18

required_number=input("Insert a number: ")
while required_number != 18
    print("Oops! Something is wrong")
    required_number=input("Try again: ")
if required_number == '18'
    print("That's right!")

#continue the code

Dies ist ein kleines Programm, das so lange nach einer Eingabe fragt, bis die erforderliche Eingabe erfolgt ist .

required_number = 18

while True:
    number = input("Enter the number\n")
    if number == required_number:
        print "GOT IT"
    else:
        print ("Wrong number try again")

0
Shahid Ghafoor