#python #anaconda #jupyter-notebook #visual-code #html #css #javascript #http

제목input함수 오류 질문2022-03-28 16:33
작성자

실습자료 5에서 주민등록번호 앞자리를 치면 년도 월 일로 변환하는 프로그램을 만드는데


def makeBirthdayString(socialSecurityNumber):

    birthYear = int(socialSecurityNumber[0:2]) + 1900

    birthMonth = int(socialSecurityNumber[2:4])

    birthDay = int(socialSecurityNumber[4:6])

    reply = "당신의 생일은 " + str(birthYear) + "년 " + str(birthMonth) + "월 " + str(birthDay) + "일 입니다"

    return reply


userinput = (input(prompt="주민등록번호 앞자리 6자리를 입력해 주세요: "))    

print(makeBirthdayString(userinput))




>>>주민등록번호 앞자리 6자리를 입력해 주세요: 900216

   당신의 생일은 1990년 2월 16일 입니다                     라는 결과가 나와야하는데요..

위에서 userinput = (input(prompt="주민등록번호 앞자리 6자리를 입력해 주세요: ")) 를
userinput = int(input(prompt="주민등록번호 앞자리 6자리를 입력해 주세요: ")) 로 int를 치면 오류가 나는데 왜그런건가요? int를 붙이면 userinput이 정수가 되어 정의한 makeBirthdayString 함수에 정수값을 넣어주게 되고 문제없이 프로그램이 돌아가야 하는것 아닌가요..?


a = int(input(prompt="Enter 'a' as integer number: "))
b = int(input(prompt="Enter 'b' as integer number: "))
print("a + b = ", a + b)

이런 함수에서는 int를 붙여도 문제없이 프로그램이 돌아갔는데 왜 def를 사용 했을때에만 문제가 생긴걸까요.?
댓글