2009-11-23 5 views
6

Say I raw_input wie diese verwenden möchten:Wie kann man einen raw_input wiederholen, bis ich aufhören will?

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

unter:

if __name__=="__main__": 

Wie kann ich es mehrfach und nicht nur einmal jedes Mal, wenn ich starten Sie das Programm wiederholen lassen?
Eine andere Frage ist zu schreiben, welcher Code die Bedingung erfüllen kann "oder eine leere Zeile (das Programm) zu beenden".

Antwort

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

beste:

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 
Verwandte Themen