2009-11-23 11 views
6

Say chcę użyć raw_input takiego:Jak pozwolić raw_input powtarzać, aż chcę zakończyć?

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

under:

if __name__=="__main__": 

Jak mogę pozwolić jej powtórzyć kilka razy zamiast tylko raz za każdym razem uruchomić program?
Kolejne pytanie to napisać, jaki kod może spełnić warunek "lub pusty wiersz do zamknięcia (program)".

Odpowiedz

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

najlepiej:

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 
Powiązane problemy