2011-04-05 3 views

답변

9

나는 조합 :

while True: 
    value = raw_input('Value between 0 and 100:') 
    try: 
     value = int(value) 
    except ValueError: 
     print 'Valid number, please' 
     continue 
    if 0 <= value <= 100: 
     break 
    else: 
     print 'Valid range, please: 0-100' 

는 희망이 도움을 건의 할 것입니다.

+0

참 :? 무슨 뜻이야? zindel. – kn3l

+0

실제로 무한 루프. 이 코드는 값이 입력되지 않을 때까지 프로그램이 더 진행되는 것을 허용하지 않습니다. 일반적으로 일종의'goto' 에뮬레이션은 일종의 작업에 완벽하게 맞습니다. 이봐 요,주기 내에'break'와'continue' 문이 있습니다. 그래서 어떤 점에서 멈출 겁니다.) – zindel

+0

'while True :'는 무한 루프를 만드는 관용구입니다 (@ zindel의 예제에서 여기에 사용자가 허용 된 범위 안에있는 숫자를 입력 할 때까지 실행되는 루프가 있으므로이 코드 블록을 지나갈 수있는 유일한 방법은 유효한 정수 (또는 Ctrl + C, 추측 ...)를 입력하는 것입니다. – bgporter

5

if/else가 아마도 여기에서 더 적절할 것입니다. 발생한 예외는 모두 자신이 던진 것이므로 (그리고 여전히 처리해야합니다).

1

가장 간단한 방법은/else입니다.

하지만 아마 if/else와 함께 유효성 검사기를 모두 수행하고 예외를 던질 것입니다.

관련 문제