2009-11-23 21 views
6

que je veux utiliser raw_input comme ceci:Comment laisser un raw_input se répéter jusqu'à ce que je veuille quitter?

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

sous:

if __name__=="__main__": 

Comment puis-je laisser répéter plusieurs fois plutôt qu'une seule fois à chaque fois que je lance le programme?
Une autre question est d'écrire quel code peut satisfaire la condition "ou une ligne vide à quitter (le programme)".

Répondre

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

mieux:

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