2009-11-23 11 views
6

decir que quiero utilizar raw_input así:¿Cómo se permite que se repita un raw_input hasta que deseo salir?

code = raw_input("Please enter your three-letter code or a blank line to quit: ")

en:

if __name__=="__main__": 

¿Cómo puedo dejar que se repita varias veces en lugar de sólo una vez cada vez que ejecute el programa?
Otra pregunta es escribir qué código puede satisfacer la condición "o una línea en blanco para salir (el programa)".

Respuesta

0
if __name__ == '__main__': 

    input = raw_input("Please enter your three-letter code or leave a blank line to quit: ") 
    while input: 
     input = raw_input("Please enter your three-letter code or leave a blank line to quit: ") 
6

mejor:

if __name__ == '__main__': 
    while True: 
    entered = raw_input("Please enter your three-letter code or leave a blank line to quit: ") 
    if not entered: break 
    if len(entered) != 3: 
     print "%r is NOT three letters, it's %d" % (entered, len(entered)) 
     continue 
    if not entered.isalpha(): 
     print "%r are NOT all letters -- please enter exactly three letters, nothing else!" 
     continue 
    process(entered) 
4
while 1: 
    choice=raw_input("Enter: ") 
    if choice in ["Q","q"]: break 
    print choice 
    #do something else 
1
def myInput(): 
    return raw_input("Please enter your three-letter code or a blank line to quit: ") 

for code in iter(myInput, ""): 
    if len(code) != 3 or not code.isalpha(): 
     print 'invalid code' 
     continue 
    #do something with the code 
Cuestiones relacionadas