02-2 숫자와 변수로 계산하기
1 / 1
2회 · 둘째 차시第 2 次课 · 第 2 课时

숫자와 변수로 계산하기用数字与变量进行计算

처음부터 프로그램을 만들지 않습니다. 준비된 짧은 Python 파일을 읽고 실행하며, 코드가 정보를 표현하는 방법을 살펴봅니다.不从头制作程序。阅读并运行准备好的简短 Python 文件,观察代码如何表达信息。
이전 차시 · 2-1. 개발 도구 설치와 확인
다음 차시 · 2-3. 웹과 프로그래밍 언어의 역사
上一课时 · 2-1. 安装并确认开发工具
下一课时 · 2-3. Web 与编程语言的历史
수업 자료 준비准备课堂资料02-2

수업 자료를 먼저 내려받아 내 폴더에 정리한다先下载课堂资料,再整理到自己的文件夹 실습实践

먼저 아래 버튼으로 이번 차시의 자료를 내려받습니다. 압축을 푼 뒤 문서 폴더 안에 JDH_VibeCoding_자기이름 폴더를 만들고, 내려받은 02 폴더를 그 안에 넣습니다.先用下方按钮下载本课资料。解压后,在文档文件夹中创建 JDH_VibeCoding_自己的名字 文件夹,再把下载得到的 02 文件夹放进去。

02 학생용 자료 내려받기下载 02 学生资料02_student_files.zip
ZIP 파일이란?什么是 ZIP 文件?

여러 파일과 폴더를 하나로 묶어 둔 압축 파일입니다. 내려받은 뒤 압축 풀기를 해야 안의 파일을 사용할 수 있습니다.它是把多个文件和文件夹打包在一起的压缩文件。下载后必须解压才能使用其中的文件。

JDH_VibeCoding_자기이름 폴더 아래 02 폴더와 code, data, notebooks, output 하위 폴더가 있는 구조
이번에는 02 폴더를 넣고, 다음 회차에는 같은 자리에 03·04 폴더를 추가한다.本次放入 02 文件夹,之后在同一位置继续添加 03、04 文件夹。
수업 자료 준비准备课堂资料02-2

수업 자료를 먼저 내려받아 내 폴더에 정리한다先下载课堂资料,再整理到自己的文件夹(이어서)(续)

자료를 내려받았으면 앞 쪽 그림과 같은 자리에 폴더를 넣습니다. 아래 순서대로 하면 됩니다.下载好资料后,把文件夹放到前一页图中的位置。按下面的顺序做就行。

자료를 제자리에 넣기把资料放到正确位置
  1. 위의 주황색 버튼으로 02_student_files.zip을 내려받는다.点击上方橙色按钮下载 02_student_files.zip。
  2. 내려받은 ZIP 파일에서 마우스 오른쪽 버튼 → 압축 풀기를 누른다.在下载的 ZIP 文件上点击鼠标右键 → 解压。
  3. 문서 폴더를 열고 JDH_VibeCoding_자기이름 형식으로 폴더를 새로 만든다.打开文档文件夹,按 JDH_VibeCoding_自己的名字 的格式新建文件夹。
  4. 압축을 풀어 생긴 02 폴더를 JDH_VibeCoding_자기이름 안으로 옮긴다.把解压得到的 02 文件夹移动到 JDH_VibeCoding_自己的名字 中。
  5. VS Code에서 파일 → 폴더 열기를 누르고 JDH_VibeCoding_자기이름을 연다.在 VS Code 中点击文件 → 打开文件夹,打开 JDH_VibeCoding_自己的名字。

폴더 이름은 교과서와 똑같이 쓰는 것이 좋습니다. 그래야 수업 화면과 내 화면을 비교하며 파일을 쉽게 찾을 수 있습니다.建议文件夹名称与教材完全一致,这样更容易对照课堂画面找到文件。

1. 표에서 코드로1. 从表格到代码02-2

같은 숫자라도 뜻은 서로 다르다相同的数字也可能有不同意义

성적표의 82는 그냥 숫자 82가 아니라 학생 A의 국어 점수입니다. 숫자에 뜻이 드러나는 이름을 붙이면 코드에서도 무엇을 계산하는지 알아보기 쉬워집니다.成绩表中的 82 不只是数字 82,而是学生 A 的语文成绩。给数字加上能看出含义的名称,代码中的计算也更容易理解。

학생 A의 행이 강조된 가상 과목 성적표
모든 이름과 점수는 설명을 위해 만든 가상 자료다.所有姓名与分数都是用于说明的虚拟资料。
생각해 보기想一想

학생 A의 82·91·76을 코드에서 서로 구분하려면 어떤 이름을 붙이면 좋을까?为了在代码中区分学生 A 的 82、91、76,可以给它们起什么名称?

이 성적표는 화면에서 숫자의 뜻을 설명하기 위해 준비한 자료입니다.这张成绩表是为了说明画面中数字的含义而准备的资料。

2. 첫 실행2. 第一次运行02-2

실행 버튼을 누르면 결과가 나타난다点击运行按钮后显示结果 실습实践

이번에는 일반 Python 파일 .py를 사용합니다. 왼쪽 탐색기에서 JDH_VibeCoding_자기이름 → 02 → code → 01_first_result.py를 차례로 찾아 엽니다.这次使用普通的 Python 文件 .py。在左侧资源管理器中依次找到并打开 JDH_VibeCoding_自己的名字 → 02 → code → 01_first_result.py。

VS Code에서 학생용 폴더의 첫 Python 파일과 오른쪽 위 Run Python File 버튼의 위치 ① ②
① 01_first_result.py를 연다. ② 편집기 오른쪽 위의 ▶ Run Python File을 누른다.① 打开 01_first_result.py。② 点击编辑器右上角的 ▶ Run Python File。
열 파일打开文件02/code/
01_first_result.py
→
누를 버튼点击按钮▶ Run Python File
→
확인할 결과确认结果TERMINAL · 8
코드代码뜻含义
3, 5계산에 사용할 숫자用于计算的数字
+두 숫자를 더하라는 표시把两个数字相加
print(...)괄호 안의 값이나 결과를 화면에 보여 주는 기능把括号中的值或结果显示出来

실행 버튼을 누른 뒤 VS Code 아래쪽 터미널에서 결과만 읽습니다. 이번 실습에서는 실행 명령을 직접 입력하지 않습니다.点击运行按钮后,只需在 VS Code 下方终端读取结果。本次实践不手动输入运行命令。

3. 계산3. 计算02-2

네 가지 기호로 계산한다用四个符号进行计算

Python의 더하기와 빼기는 익숙하지만, 곱하기와 나누기 기호는 수학 시간과 조금 다릅니다.Python 的加法和减法很熟悉,但乘法与除法符号和数学课稍有不同。

기호符号뜻含义준비된 코드准备好的代码결과结果
+더하기加print(8 + 2)10
-빼기减print(8 - 2)6
*곱하기乘print(8 * 2)16
/나누기除print(8 / 2)4.0
02_four_calculations.py
print(8 + 2)
print(8 - 2)
print(8 * 2)
print(8 / 2)
실행 결과运行结果
10
6
16
4.0

4.0은 4와 같은 크기의 수입니다. 나누기 결과가 소수점이 있는 모양으로 보일 수 있다는 정도만 알아둡니다.4.0 与 4 大小相同。只需知道除法结果可能显示为带小数点的形式。

4. 값의 종류4. 值的种类02-2

숫자처럼 보여도 글자일 수 있다看起来像数字也可能是文字

자료형(type)은 값의 종류입니다. 따옴표가 있는지 없는지만 달라도 Python은 서로 다른 종류로 이해합니다.数据类型(type)是值的种类。即使只差引号,Python 也会把它们理解为不同的种类。

숫자数字
4. 값의 종류 · 실행4. 值的种类 · 运行02-2

세 줄을 실행하면 마지막에서 멈춘다运行三行,最后一行会停下

print(2 + 3)
결과结果 5

숫자끼리 더하면 계산한다.数字相加会进行计算。

문자열字符串
print('2' + '3')
결과结果 23

글자끼리 더하면 앞뒤로 잇는다.文字相加会前后连接。

글자 + 숫자文字 + 数字
print('2' + 3)
결과结果 오류错误

종류가 달라 그대로 더할 수 없다.类型不同,不能直接相加。

03_number_text_cases.py
print(2 + 3)
print('2' + '3')
print('2' + 3)

준비된 03_number_text_cases.py를 실행하면 앞의 두 줄은 정상적으로 실행되고, 마지막 줄에서 종류가 다른 값을 더하려 해 오류가 한 번 나타납니다.运行准备好的 03_number_text_cases.py 时,前两行正常执行,最后一行因为相加的值类型不同而出现一次错误。

4. 값의 종류 · 종류 이름4. 值的种类 · 种类名称02-2

종류에는 이름이 붙어 있다每种类型都有名字

모양形式종류 이름类型名称오늘 확인할 것今天要确认
2, 3int계산할 수 있는 정수可以计算的整数
'2', '3'str따옴표 안에 있는 글자引号中的文字
'2' + 3str + int서로 다른 종류라 오류가 난다类型不同,因此发生错误

오류 문장을 외우지 않습니다. AI가 만든 코드에서 따옴표의 유무에 따라 값의 종류와 결과가 달라질 수 있다는 점을 확인합니다.不需要背错误信息。只需确认 AI 生成的代码会因是否有引号而改变值的类型与结果。

5. 변수5. 变量02-2

변수는 값의 뜻을 알려 주는 이름표다变量是说明值的含义的名牌

이름이 없을 때没有名称时
829176

어떤 과목의 점수인지 알기 어렵다.很难知道是哪一科的分数。

이름이 있을 때有名称时
korean_score82english_score91math_score76
04_variables.py
student_name = '학생 A'
korean_score = 82
english_score = 91
math_score = 76
total = korean_score + english_score + math_score

print(student_name)
print(total)
5. 변수 · 코드 읽기5. 变量 · 读代码02-2

코드 한 줄을 우리말로 읽는다把一行代码读成中文

코드 한 줄一行代码자연어로 읽기用自然语言阅读
student_name = '학생 A'‘학생 A’라는 글자에 student_name이라는 이름을 붙인다.给“学生 A”这段文字取名为 student_name。
korean_score = 8282라는 숫자에 korean_score라는 이름을 붙인다.给数字 82 取名为 korean_score。
=은 무엇을 뜻할까 表示什么

수학 문제의 “양쪽이 같다”보다, 오른쪽 값을 왼쪽 이름에 저장한다고 읽는 편이 이해하기 쉽습니다.与其理解为数学中的“两边相等”,不如读作把右边的值存到左边的名称中。

6. 표를 계산으로6. 把表变成计算02-2

학생 A의 합계와 평균을 구한다求学生 A 的总分与平均分

성적표에서 학생 A의 숫자 세 개를 찾고, 같은 숫자가 코드에 올바른 이름으로 들어갔는지 먼저 대조합니다.先在成绩表中找到学生 A 的三个数字,再核对代码中是否以正确名称使用了相同数字。

05_numbers_and_variables.py
korean_score = 82
english_score = 91
math_score = 76

total = korean_score + english_score + math_score
average = total / 3

print(total)
print(average)
6. 표를 계산으로 · 대조6. 把表变成计算 · 对照02-2

표의 숫자와 코드의 숫자를 맞춰 본다核对表格与代码里的数字

값을 찾는다找到数值82 · 91 · 76
↓
이름을 확인한다确认名称korean_score · english_score · math_score
↓
계산을 읽는다阅读计算세 점수를 더하고, 합계를 3으로 나눈다.将三科分数相加,再把总分除以 3。
↓
print할 값을 찾는다找到要 print 的值total · average

코드를 직접 바꾸기 전에, 표의 숫자와 코드의 숫자가 같은지 읽고 대조하는 것이 먼저입니다.在修改代码之前,先阅读并核对表格数字与代码数字是否一致。

7. 예상하고 실행7. 先预测再运行02-2

실행되기 전에 결과를 생각한다运行之前先想结果

코드가 오류 없이 실행되는 것과 우리가 원한 계산을 하는 것은 다릅니다. 실행 버튼을 누르기 전에 어떤 결과가 나와야 하는지 먼저 예상합니다.代码没有报错,与代码完成了我们想要的计算并不相同。点击运行前,先预测应该得到什么结果。

코드 읽기 순서阅读代码的顺序
  1. 어떤 숫자와 글자가 있는지 찾는다.找出有哪些数字与文字。
  2. 각 값에 어떤 변수 이름이 붙었는지 찾는다.找出每个值对应的变量名。
  3. 어떤 계산을 하는지 읽는다.阅读进行了什么计算。
  4. 합계와 평균을 먼저 예상한다.先预测总分与平均分。
  5. Run Python File을 누르고 실제 결과와 비교한다.点击 Run Python File,与实际结果比较。
7. 예상하고 실행 · 대조7. 先预测再运行 · 对照02-2

예상과 결과를 나란히 놓고 본다把预测和结果并排看

실행 전 예상运行前预测

82 + 91 + 76 = ?
합계 / 3 = ?

실행 결과运行结果

249
83.0

예상과 다르면 바로 AI에게 다시 맡기지 않습니다. 먼저 표의 숫자, 변수에 저장된 숫자, 계산식, 출력값을 순서대로 봅니다.如果结果与预测不同,不要马上再次交给 AI。先依次检查表格数字、变量中的数字、计算式与输出值。

8. AI와 함께 만들기8. 与 AI 一起制作02-2

OpenCode로 student_scores.py를 만든다使用 OpenCode 创建 student_scores.py 실습实践

AI 실습 시작开始 AI 实践이번에는 준비된 파일을 실행하는 것이 아니라, AI에 요청해 새 Python 파일을 만듭니다.这次不是运行准备好的文件,而是向 AI 提出请求并创建新的 Python 文件。
OpenCode 요청문OpenCode 请求
code 폴더 안에 student_scores.py 파일을 만들어 줘.

학생 이름은 '학생 A'이고,
국어 점수는 82점, 영어 점수는 91점, 수학 점수는 76점이야.

학생 이름과 세 과목의 합계, 평균을 print로 보여 주는
짧은 Python 파일을 만들어 줘.
변수 이름은 값의 뜻이 드러나게 하고,
복잡한 기능은 사용하지 마.
请在 code 文件夹里创建 student_scores.py 文件。

学生姓名是 '学生 A',
语文 82 分,英语 91 分,数学 76 分。

请做一个简短的 Python 文件,
用 print 显示学生姓名、三门课的总分和平均分。
变量名要能看出值的含义,
不要使用复杂的功能。
사람이 확인할 것人要确认的内容
  • 숫자 82·91·76이 정확히 들어 있는가?数字 82、91、76 是否正确?
  • '학생 A'가 따옴표로 감싸져 있는가?'学生 A' 是否被引号包围?
  • 변수 이름만 보고 값의 뜻을 알 수 있는가?只看变量名能否理解值的含义?
  • 합계와 평균 계산식이 우리가 요청한 내용과 같은가?总分与平均分计算是否符合请求?
  • 예상한 결과와 실행 결과가 같은가?预测结果与运行结果是否一致?

AI가 만든 코드를 이해하지 못한 채 실행 결과만 보고 넘어가지 않습니다. 적어도 사용한 값·변수 이름·계산식·출력값은 사람이 확인합니다.不能在不理解 AI 代码的情况下只看运行结果。至少要由人确认使用的值、变量名、计算式与输出值。

9. 정리9. 小结02-2

값·이름·계산을 읽을 수 있으면 된다能读懂值、名称与计算即可

이번 차시에서 남길 것本课时要记住的
  • print()는 값과 계산 결과를 화면에 보여 준다.print() 会把值与计算结果显示在画面上。
  • 숫자끼리의 +는 계산하고, 문자열끼리의 +는 글자를 잇는다.数字之间的 + 会计算,字符串之间的 + 会连接文字。
  • 글자와 숫자를 바로 더하면 값의 종류가 달라 오류가 난다.文字与数字直接相加时,因为类型不同会发生错误。
  • 변수는 값의 뜻을 알려 주는 이름표다.变量是说明值含义的标签。
  • AI가 만든 코드에서도 숫자·문자열·변수·계산식을 사람이 확인한다.AI 生成的代码也要由人确认数字、字符串、变量与计算式。
  • 실행 전에 예상하고 실제 결과와 비교한다.运行前先预测,再与实际结果比较。
이번 차시에서 기억할 문장本课时要记住的一句话

AI가 코드를 만들 수 있어도, 어떤 값으로 무엇을 계산했는지는 사람이 확인해야 한다.即使 AI 能生成代码,人也必须确认它用什么值做了什么计算。

더 알아보기拓展阅读02-2

Python은 CLI에서만 실행될까?Python 只能在 CLI 里运行吗?

아닙니다. Python은 프로그래밍 언어의 이름입니다. 우리가 컴퓨터에 설치한 것은 그 언어로 적힌 코드를 읽고 실행하는 Python 실행기(인터프리터)입니다. 실행기는 운영체제 위에서 작동하며, CLI는 실행기에게 일을 시키고 글자 결과를 확인하는 여러 방법 중 하나입니다.不是。Python 是一种编程语言的名称。我们安装到计算机上的,是读取并运行这种语言代码的 Python 运行器(解释器)。运行器在操作系统上工作,而 CLI 只是向运行器下达任务并查看文字结果的多种方式之一。

Run 버튼을 누르면 뒤에서 일어나는 일点击 Run 按钮后在后台发生的事情
  1. VS Code가 python 05_numbers_and_variables.py와 같은 실행 명령을 준비한다.VS Code 准备类似 python 05_numbers_and_variables.py 的运行命令。
  2. 운영체제가 설치된 Python 실행기를 시작하고 파일을 전달한다.操作系统启动已安装的 Python 运行器,并把文件交给它。
  3. Python 실행기가 코드를 위에서부터 읽으며 계산한다.Python 运行器从上到下读取代码并进行计算。
  4. print()가 보낸 글자 결과를 VS Code의 터미널이 보여 준다.VS Code 的终端显示 print() 送出的文字结果。
지금 만든 코드现在编写的代码

print(total)

글자를 출력하도록 만들었기 때문에 터미널에서 결과를 본다.因为程序被写成输出文字,所以在终端中查看结果。

화면을 만드는 코드创建画面的代码

창·버튼·그림을 만드는 기능을 사용하면 결과를 GUI 화면으로 볼 수 있다.使用创建窗口、按钮和图像的功能,就能在 GUI 画面中查看结果。

더 알아보기 · 결과를 보는 곳拓展阅读 · 看结果的地方02-2

결과를 보는 곳은 여러 가지다看结果的地方有很多种

실행하거나 보는 곳运行或查看的位置결과가 나타나는 방식结果显示方式
터미널print() 결과와 오류를 글자로 확인한다.以文字查看 print() 的结果和错误。
Jupyter Notebook코드 바로 아래에 표와 그래프가 나타날 수 있다.表格和图表可以显示在代码正下方。
GUI 프로그램별도의 창에서 버튼·글자·그림을 보여 줄 수 있다.可以在独立窗口中显示按钮、文字和图像。
웹 프로그램Python이 뒤에서 일하고, 사용자는 브라우저 화면을 본다.Python 在后台工作,用户看到的是浏览器画面。

Python이 CLI에서만 작동하는 것이 아닙니다. 지금은 가장 단순하게 실행 과정과 결과를 확인할 수 있어서 터미널을 사용하는 것입니다.Python 并不是只能在 CLI 中运行。现在使用终端,是因为它最容易让我们确认运行过程和结果。

다음 차시下一课时

다음에는 주소창의 www에서 시작해 인터넷과 웹, HTTP, 브라우저와 서버를 살펴보고, 천공카드에서 AI까지 프로그래밍 방식의 변화를 이어 봅니다.下一课将从地址栏中的 www 开始,了解互联网、Web、HTTP、浏览器与服务器,再观察从穿孔卡到 AI 的编程方式变化。