참고로 str은 string, 즉 문자열의 약자이고, int는 integer, 즉 정수(整數)의 약자입니다. 즉, 이 메시지는 우리가 문자열 타입의 값에서 정수 타입의 값을 빼려고 해서 에러가 발생했다는 사실을 알려주고 있습니다. 다시 말해 25라는 숫자처럼 보이는 값을 입력했지만, 사실 input() 함수로 입력받은 값은 문자열 타입으로 저장되었다는 것을 알 수 있습니다.
그러면 str과 int 중 어떤 값을 어떤 타입으로 바꿔줘야 할까요?
age에서 4를 빼려는 의도였으니, 문자열 타입인 age를 정수 타입으로 바꿔야 해요.
네, 맞습니다. 다음과 같이 int() 함수를 사용해서 정수 타입으로 바꾸면 에러를 고칠 수 있습니다.
age = input('나이를 입력해주세요! : ') print(int(age) - 4)
실행 결과
나이를 입력해주세요! : 25──▶ 25 또는 여러분의 나이를 숫자로 입력해 보세요! 21
출력, 입력, 변수에 대한 내용은 다음 코드로 정리하며 마치겠습니다. int() 함수의 위치를 잘 살펴보고, str() 함수의 역할이 무엇일지 스스로 생각해보세요!
name = input('이름을 입력해주세요 : ') age = int(input('나이를 입력해주세요 : ')) print('안녕하세요!', name+'님! 저는 처음에 '+str(age - 4)+'살인 줄 알았어요!!')