사용자 함수 강의 부분에서 질문있습니다!
답변 2
2
"이름을 입력하세요" 8
이라고 입력을 하면 작성된 사용자 정의 함수에서 자동으로 8 을 str 로 캐스팅했기 때문에 문제가 없는 코드가 됩니다. 사람이 입력할때는 8 을 입력하면서 숫자로 생각하고 입력했겠지만 casting(input(msg)) 에 의해 str 로 캐스팅 되어 8은 문자형태가 되었고 try except 문에 걸리지 않게 됩니다.
말씀하신 의도대로 동작하게 하려면 추가적인 코드가 필요하게 됩니다.
def get_input_user(msg, casting):
while True:
try:
value = casting(input(msg))
# 캐스팅 형태가 str 인경우에
if casting == str:
# 입력된 값이 숫자형태라면 오류로 처리
if value.isnumeric():
raise Exception
return value
except:
continue
user = get_input_user("이름을 입력하세요", str)
age = get_input_user("나이를 입력하세요", int)
일단 즉흥적으로 만들어 봤습니다만... 위 코드처럼 수정되야 말씀하신대로 동작하게 됩니다. raise Exception 은 강제로 Exception 을 발생하게 하는 내용입니다. 참고되셨길 바라며 또 궁금한점 질문 남겨주시기 바랍니다.
0
사람이 입력할때는 8 을 입력하면서 숫자로 생각하고 입력했겠지만 casting(input(msg)) 에 의해 str 로 캐스팅 되어 8은 문자형태가 되었고 try except 문에 걸리지 않게 됩니다.
<< 이 부분을 제가 몰랐었네요! 해결됐습니다 ㅎㅎ 감사합니다!
38강 = 연산자 더하고 빼기
0
59
2
주석처리
0
116
1
함수의 파라미터값 msg
0
154
1
강의자료 이미지 안나옴
0
238
3
강의자료 질문 두번째
0
164
3
강의자료 관련 질문
0
115
1
파이썬 예외 처리 try / except 파일 처리 코드가 실행이 안됩니다.
0
234
1
소수 너무 어려워요
0
244
1
imagefont 함수 사용
0
238
1
pylint
0
356
1
add 함수 문의 ㅠㅠ
0
281
1
형식 문의드립니다.
0
208
1
변수 명을 왜 src, tar로 하셨는지 궁금합니다.
0
601
1
숫자야구 코드를 짜 봤는데 뭔가 이상합니다.
0
251
1
zsh: command not found: pylint
0
268
1
텔레그램 봇 만들기 코드 실행이 안됩니다 박사님..ㅠ
0
545
1
질문드립니다.
1
373
2
list.reverse() 출력에 대해서 질문있습니다.
1
432
1
데코레이터 함수 및 동작시간 질문입니다.~
1
322
2
opencv 사용하면서 궁금한점 (해상도)
1
780
1
질문드립니다.
1
298
1
아래 오류가 뜨면서 vscode가 컴파일이 되지 않는데.. 혹시 왜이럴까요?
1
444
1
크롤링안되는 현상 문의 드립니다.
1
420
1
파이썬 크롤링 관련 문의
1
276
1





