web-dev-qa-db-fra.com

Python: Comment continuer à répéter un programme jusqu'à l'obtention d'une entrée spécifique?

J'ai une fonction qui évalue l'entrée et je dois continuer à demander leur entrée et à l'évaluer jusqu'à ce qu'ils entrent une ligne vide. Comment puis-je configurer cela?

while input != '':
    evaluate input

J'ai pensé à utiliser quelque chose comme ça, mais ça n'a pas fonctionné. De l'aide?

7
user3033494

Il y a deux façons de faire ça. Le premier est comme ça:

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

La seconde est comme ça:

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

Notez que si vous utilisez Python 3.x, vous devrez remplacer raw_input par input.

17
iCodez

vous voudrez probablement utiliser une valeur distincte qui indique si l'entrée est valide:

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

C'est un petit programme qui demandera une entrée jusqu'à ce que l'entrée requise soit donnée ..__

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