프로그래밍 ㅈ뉴비인 IT전공 신입생이야.
파이썬 3.x에서 x=int(input('msg')) 식으로 사용자 입력을 받잖아.
이걸 loop를 이용해서 0~100까지의 float 값만 입력할 수 있도록 만들라는게 과제인데,
0~100까지 제한하는거야 while loop 이용해서
while 0 > raw_input or 100 < raw_input:
print('the value should be in range of 0 ~ 100')
raw_input = input('input the right value again: ')
raw_input = float(raw_input)
이런식으로 하니까 되긴 되는데, string 입력하는건 어떻게 막을지 감이 안잡히네.
while loop로 raw_input == str(raw_input) 을 조건으로 해서 돌려봐도, 애초에 입력받은 raw_input을 일단 string 형식으로 저장하더라구.
그래서 그냥 무슨 값 입력해도 저 while문에서 무한루프 돌게 되고..
a = float(input()) 식으로 쓰면 string 쓰는걸 막는게 아니라 그냥 에러나면서 튕겨버리니까 곤란하네..
불쌍한 ㅈ뉴비가 여기서 힌트 좀 얻어갈 수 있을까?
파이썬 3.x에서 x=int(input('msg')) 식으로 사용자 입력을 받잖아.
이걸 loop를 이용해서 0~100까지의 float 값만 입력할 수 있도록 만들라는게 과제인데,
0~100까지 제한하는거야 while loop 이용해서
while 0 > raw_input or 100 < raw_input:
print('the value should be in range of 0 ~ 100')
raw_input = input('input the right value again: ')
raw_input = float(raw_input)
이런식으로 하니까 되긴 되는데, string 입력하는건 어떻게 막을지 감이 안잡히네.
while loop로 raw_input == str(raw_input) 을 조건으로 해서 돌려봐도, 애초에 입력받은 raw_input을 일단 string 형식으로 저장하더라구.
그래서 그냥 무슨 값 입력해도 저 while문에서 무한루프 돌게 되고..
a = float(input()) 식으로 쓰면 string 쓰는걸 막는게 아니라 그냥 에러나면서 튕겨버리니까 곤란하네..
불쌍한 ㅈ뉴비가 여기서 힌트 좀 얻어갈 수 있을까?
예외처리로 하면 안될ㄲ ㅏ??
입력받아서 숫자 아니면 팅가내기
ValueError 예외처리
http://codepad.org/tG1orj0X