2013-06-18 12 views
7

Używam Pythona 3.2 i próbuję wyjść z niego po wprowadzeniu danych przez użytkownika, który nie chce kontynuować, czy istnieje kod, który zakończy go w instrukcji if w środku podczas gdy pętla? Próbowałem już używać exit(), sys.exit(), sys.quit(), quit() i podnosić SystemExit.jak wyjść ze skryptu Pythona w instrukcji if

+13

wszyscy ci powinni pracować? – Serial

+0

'jeśli True: exit()' działa. – Youcha

+7

Czy możesz pokazać nam kod, którego używasz, gdy to nie działa? Czy próbujesz zamknąć program lub po prostu instrukcję 'if'? Czy łapiesz SystemExit z jakiegoś powodu? –

Odpowiedz

19

Działa to dobrze dla mnie:

while True: 
    answer = input('Do you want to continue?:') 
    if answer.lower().startswith("y"): 
     print("ok, carry on then") 
    elif answer.lower().startswith("n"): 
     print("ok, sayonnara") 
     exit() 

edit: input w użyciu Pythona 3.2 zamiast raw_input

+1

już skonfigurował coś podobnego i nie zadziałało. to jest kod. jeśli answer.lower(). startswith ("y"): print ("ok, kontynuuj wtedy") elif answer.lower(). startswith ("n"): print ("ok, sayonnara") sys.exit() – ethan

+1

@ethan To rozwiązanie jest wystarczająco dobre. Tutaj wklej dokładny kod. – ducin

+0

Napisałem twój kod prawie dosłownie do mojego interpretera pytonów i działało dobrze. Powinieneś opublikować swój kod. Może coś innego dzieje się w twojej pętli while? – d512

Powiązane problemy