제공되는 N
이 N >0
또는 N < 100
을 따르도록 사용자 입력을 제한하고 싶습니다.try ... except 또는 if ... else를 사용하여 사용자 입력의 유효성을 검사하는 방법은 무엇입니까?
if... else
또는 try... except
을 사용해야합니까? 두 가지 접근법의 예를 제공 할 수 있습니까?
제공되는 N
이 N >0
또는 N < 100
을 따르도록 사용자 입력을 제한하고 싶습니다.try ... except 또는 if ... else를 사용하여 사용자 입력의 유효성을 검사하는 방법은 무엇입니까?
if... else
또는 try... except
을 사용해야합니까? 두 가지 접근법의 예를 제공 할 수 있습니까?
나는 조합 :
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'
는 희망이 도움을 건의 할 것입니다.
참 :? 무슨 뜻이야? zindel. – kn3l
실제로 무한 루프. 이 코드는 값이 입력되지 않을 때까지 프로그램이 더 진행되는 것을 허용하지 않습니다. 일반적으로 일종의'goto' 에뮬레이션은 일종의 작업에 완벽하게 맞습니다. 이봐 요,주기 내에'break'와'continue' 문이 있습니다. 그래서 어떤 점에서 멈출 겁니다.) – zindel
'while True :'는 무한 루프를 만드는 관용구입니다 (@ zindel의 예제에서 여기에 사용자가 허용 된 범위 안에있는 숫자를 입력 할 때까지 실행되는 루프가 있으므로이 코드 블록을 지나갈 수있는 유일한 방법은 유효한 정수 (또는 Ctrl + C, 추측 ...)를 입력하는 것입니다. – bgporter
if/else가 아마도 여기에서 더 적절할 것입니다. 발생한 예외는 모두 자신이 던진 것이므로 (그리고 여전히 처리해야합니다).
가장 간단한 방법은/else입니다.
하지만 아마 if/else와 함께 유효성 검사기를 모두 수행하고 예외를 던질 것입니다.
나는 당신이 아마 'and', 'or'을 당신의 상태로 생각했다고 생각한다. –