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. 숫자로 계산하려는데 [숫자]를 빼먹음
'나이'를 입력받자로 받은 값은 글자예요. 거기에 + 1을 하면 글자와 숫자를 더하는 것이라 오류가 나요. 계산할 값은 [숫자]로 입력받자로 받으세요.
2. 글자와 숫자를 그냥 더함
"점수: " + 90은 오류예요. "점수: " + <문자로>(90)으로 바꾸거나, 틀"점수: {90}"을 쓰세요.
정리
| 하고 싶은 일 | 쓰는 법 |
|---|---|
| 줄 바꾸지 않고 출력 | "질문: "을 이어출력하자 |
| 글자 입력받기 | '이름'을 입력받자 |
| 숫자 입력받기 | '나이'를 [숫자]로 입력받자 |
| 숫자 → 글자 | <문자로>(90) |
| 글자 → 숫자 | <숫자로>("10") |
| 글자 ↔ 번호 | <코드로>("A"), <글자로>(65) |
연습 문제
1. 좋아하는 음식을 입력받아서 “○○을(를) 좋아하시는군요!“라고 출력해 보세요.
(참고) 여기에 써 보세요.
정답 예시
"좋아하는 음식은? "을 이어출력하자
'음식'을 입력받자
틀"{'음식'}을(를) 좋아하시는군요!"를 출력하자
2. 두 숫자를 입력받아 더한 값을 출력하는 프로그램을 만들어 보세요.
정답 예시
"첫 번째 숫자: "를 이어출력하자
'가'를 [숫자]로 입력받자
"두 번째 숫자: "를 이어출력하자
'나'를 [숫자]로 입력받자
틀"합은 {'가' + '나'}예요."를 출력하자
3. 아래 코드는 오류가 나요. 두 가지 방법으로 고쳐 보세요.
'개수'를 3으로 정하자
("사과 " + '개수' + "개")를 출력하자
정답 보기
'개수'가 숫자라서 글자와 더할 수 없어요.
'개수'를 3으로 정하자
("사과 " + <문자로>('개수') + "개")를 출력하자
틀"사과 {'개수'}개"를 출력하자
다음 장에서는 숫자로 계산하는 법을 자세히 배워요.