하리Hari

2. 입력받고 바꾸기 (입력, 형 바꾸기)

사용자에게 값을 물어보고, 글자와 숫자를 서로 바꾸는 법을 배워요.

이 장에서 배울 것

  • 줄을 바꾸지 않고 출력하기 (이어출력하자)
  • 사용자에게 값을 입력받기 (입력받자)
  • 글자를 숫자로, 숫자를 글자로 바꾸기 (<숫자로>, <문자로>)

지금까지는 프로그램 안에 값을 직접 적었어요. 이번에는 실행하는 사람에게 값을 물어보는 프로그램을 만들어요.


줄을 바꾸지 않고 출력하기: 이어출력하자

출력하자는 출력한 뒤 줄을 바꿔요. 이어출력하자는 줄을 바꾸지 않아서, 다음 출력이 같은 줄에 이어서 나와요.

"하나 "를 이어출력하자
"둘 "을 이어출력하자
"셋"을 출력하자
"다음 줄"을 출력하자

하나 둘 셋이 한 줄에, 다음 줄이 그다음 줄에 나와요. 질문 바로 옆에서 답을 입력받을 때 자주 써요.


입력받기: 입력받자

'이름표'를 입력받자라고 쓰면 프로그램이 잠깐 멈추고 사용자가 한 줄을 입력하기를 기다려요. 입력한 값은 그 이름표에 담겨요.

"이름이 뭐예요? "를 이어출력하자
'이름'을 입력받자
틀"반가워요, {'이름'}님!"을 출력하자

이 문서에서 실행하면 결과 칸에 입력 칸이 나타나요. 이름을 쓰고 Enter를 누르면 프로그램이 이어서 실행돼요.

숫자로 입력받기

입력은 기본적으로 글자(문자열) 로 담겨요. 숫자로 계산하고 싶다면 [숫자]로 입력받자처럼 종류를 적어 주세요. 하리가 입력을 숫자로 바꿔서 담아 줘요.

"몇 살이에요? "를 이어출력하자
'나이'를 [숫자]로 입력받자
틀"내년에는 {'나이' + 1}살이 되겠네요!"를 출력하자

숫자가 아닌 글자(예: 열다섯)를 입력하면 “’열다섯’을(를) 숫자로 바꿀 수 없어요.” 라는 오류가 나요. 앞뒤의 띄어쓰기는 괜찮아요.

이렇게 쓰면 담기는 값
'x'를 입력받자 입력한 글자 그대로
'x'를 [문자열]로 입력받자 입력한 글자 그대로
'x'를 [숫자]로 입력받자 숫자 (숫자가 아니면 오류)
'x'를 [논리]로 입력받자 참 또는 거짓 (그 밖의 글자는 오류)

글자와 숫자는 서로 달라요

"10"(글자)과 10(숫자)은 화면에는 똑같이 보이지만 다른 종류예요. 하리는 둘을 마음대로 섞어 계산하지 않아요. 글자와 숫자를 더하면 오류가 나요.

("점수: " + 90)을 출력하자

“‘+’ 연산은 ’문자열’와(과) ‘숫자’ 사이에서 할 수 없어요.” 라는 오류가 나와요. 이럴 때는 한쪽을 다른 종류로 바꿔서 맞춰 줘야 해요.


바꾸는 도구: <문자로>, <숫자로>

도구 하는 일 예 결과
<문자로>(값) 값을 글자로 바꿔요 <문자로>(90) "90"
<숫자로>(글자) 글자를 숫자로 바꿔요 <숫자로>("10") 10
(참고) 숫자를 글자로 바꿔서 이어 붙이기
("점수: " + <문자로>(90))을 출력하자

(참고) 글자를 숫자로 바꿔서 계산하기
(<숫자로>("10") + 5)를 출력하자

점수: 90과 15가 나와요.

참고로, 글자 사이에 값을 넣는 일이라면 1장의 틀이 더 편해요. 틀"점수: {90}"은 숫자를 알아서 글자 사이에 넣어 줘요. <문자로>는 글자 자체가 필요할 때(예: 글자 수를 세거나 이어 붙일 때) 써요.

<숫자로>는 숫자로 읽을 수 없는 글자를 받으면 오류가 나요.

(<숫자로>("열") + 1)을 출력하자

글자와 번호: <코드로>, <글자로>

컴퓨터 안에서 모든 글자에는 번호가 있어요. A는 65, 가는 44032예요. 이 번호를 알아내거나, 번호로 글자를 만들 수 있어요.

<코드로>("A")를 출력하자
<글자로>(66)을 출력하자

65와 B가 나와요. 지금 당장은 많이 쓰지 않지만, 암호 만들기 같은 놀이를 할 때 유용해요.


함께 써 보기: 나이 계산기

"태어난 해를 입력하세요: "를 이어출력하자
'태어난해'를 [숫자]로 입력받자
'올해'를 2026으로 정하자
'나이'를 '올해' - '태어난해'로 정하자
틀"올해 {'나이'}살이 되는 해예요!"를 출력하자
  1. 질문을 출력하고 (이어출력하자)
  2. 숫자로 입력받아서 ([숫자]로 입력받자)
  3. 계산하고 (-)
  4. 결과를 틀로 보여 줘요.

자주 하는 실수

1. 숫자로 계산하려는데 [숫자]를 빼먹음

'나이'를 입력받자로 받은 값은 글자예요. 거기에 + 1을 하면 글자와 숫자를 더하는 것이라 오류가 나요. 계산할 값은 [숫자]로 입력받자로 받으세요.

2. 글자와 숫자를 그냥 더함

"점수: " + 90은 오류예요. "점수: " + <문자로>(90)으로 바꾸거나, 틀"점수: {90}"을 쓰세요.


정리

하고 싶은 일 쓰는 법
줄 바꾸지 않고 출력 "질문: "을 이어출력하자
글자 입력받기 '이름'을 입력받자
숫자 입력받기 '나이'를 [숫자]로 입력받자
숫자 → 글자 <문자로>(90)
글자 → 숫자 <숫자로>("10")
글자 ↔ 번호 <코드로>("A"), <글자로>(65)

연습 문제

1. 좋아하는 음식을 입력받아서 “○○을(를) 좋아하시는군요!“라고 출력해 보세요.

(참고) 여기에 써 보세요.
정답 예시
"좋아하는 음식은? "을 이어출력하자
'음식'을 입력받자
틀"{'음식'}을(를) 좋아하시는군요!"를 출력하자

2. 두 숫자를 입력받아 더한 값을 출력하는 프로그램을 만들어 보세요.

정답 예시
"첫 번째 숫자: "를 이어출력하자
'가'를 [숫자]로 입력받자
"두 번째 숫자: "를 이어출력하자
'나'를 [숫자]로 입력받자
틀"합은 {'가' + '나'}예요."를 출력하자

3. 아래 코드는 오류가 나요. 두 가지 방법으로 고쳐 보세요.

'개수'를 3으로 정하자
("사과 " + '개수' + "개")를 출력하자
정답 보기

'개수'가 숫자라서 글자와 더할 수 없어요.

'개수'를 3으로 정하자
("사과 " + <문자로>('개수') + "개")를 출력하자
틀"사과 {'개수'}개"를 출력하자

다음 장에서는 숫자로 계산하는 법을 자세히 배워요.

놀이터
결과
코드를 작성하고 '실행' 버튼을 눌러보세요.