2016-10-30 15 views
-2

모든 작동하지 않는 내 else 문문 경우 내가 전에 그것을 테스트하기 때문에 아무리 내가 무엇을 넣어 <p></p>, 그것은 여전히 ​​"그건 선택이 아니다"라고 ... 올바른 무엇인지 표시됩니다에서 제외 raw_input을 프롬프트

1 = choice1

2 = 선택 2

3 = choice3

while True: 
    choice = raw_input("->") 
    if choice == 1: 
     dochoice1 
     break 
    elif choice == 2: 
     dochoice2 
     break 
    elif choice == 3: 
     dochoice3 
     break 
    else: 
     print "That Is Not A Choice" 
     continue 
+0

내가 입력 한 내용에 관계없이 "여전히 n입니다. ot a choice "를 사용합니다 ... – DuckyQuack

+0

@DuckyQuack'if'가 반복되지 않으므로 루프 생성이 아닙니다 –

답변

1

choice = int(raw_input("->")) 

나 :

raw_input 중 하나 intchoice를 변환하거나 문자열로 비교, 당신은 정수로 비교하는 문자열을 반환

if choice == "1": 

만약 아니라 사용자 입력 뭔가 유효한 int의 경우 예외를 잡을 수 있습니다.

try: 
    choice = int(raw_input("->")) 
except ValueError: 
    print "Invalid int" 
    continue 
+0

'int'를 반환하는'input'을 사용하지 않는 이유는 무엇입니까? –

+1

@EliSadoff Python 2에서는'eval'을 호출하기 때문에'input'을 사용하는 것은 나쁜 습관입니다. –

+0

하지만 내가 그렇게 할 때 응답 또는 입력이 정수가 아니면 코드에 오류가 있습니다. – DuckyQuack