TheZTHEZ / UNDERSTANDING FIRST
编程起步入门18 分钟阅读

计算机、数据与输入输出

从计算一周学习时间出发,认识程序、数据、输入处理输出,以及内存与文件的区别。

在浏览器中练习 →进度只保存在本机。

学习目标

读完并完成练习后,你应能用自己的话区分“程序”和“数据”,指出一个计算任务的输入、处理与输出,并解释为什么关闭页面后不能依赖变量继续保留。无需先认识任何 Python 语法。

必要的前置知识

只需要会做整数加法、乘法,并能在网页中点击按钮。你不必在手机上安装 Python;本课下方的交互演示在本地网页里工作。先阅读代码,再按“下一步”,不要同时打开多个工具分散注意力。

概念解释

计算机按照规则处理信息。数据是被处理的内容,例如每天学习 20 分钟、持续 7 天;程序是处理这些数据的明确步骤,例如把两个数相乘,然后显示结果。Python 是一种写程序的语言;解释器负责按照语言规则执行它。你看到的是文字代码,处理器最终执行的是更底层的指令,二者不是同一层。

把任务拆成三部分:输入是程序已获得的数据;处理是计算或选择;输出是展示或保存结果。“输入”不一定意味着有一个输入框。本课把输入直接写在代码中,暂不使用需要等待用户键盘输入的 input()。

生活化类比

把程序想成做一杯饮料的配方。水和茶叶相当于数据;配方相当于程序;执行配方的设备相当于运行环境;最后的一杯饮料相当于结果。但计算机不会自行补全“放一点”这样的含糊要求,所以程序需要精确表达数量和顺序。类比帮助入门,不代表计算机像人一样理解饮料。

原理示意图

输入:每天 20 分钟、共 7 天 → 处理:20 × 7 → 输出:140 分钟。

页面下方的可操作示意把这条链展开成变量绑定和输出。代码仍在执行时,变量属于这一次运行的工作状态;保存到文件或浏览器存储是另一项操作。内存不是“文件夹”,代码中有变量也不意味着数据已被保存。

完整代码示例

minutes_per_day = 20
days = 7
total_minutes = minutes_per_day * days
print("一周学习分钟:", total_minutes)

逐行代码讲解

  1. minutes_per_day 是名字,右侧整数 20 是值。等号表示把名字绑定到结果。
  2. days 保存天数 7。下划线只是名称的一部分,让英文单词易读。
  3. * 表示乘法。先读取前两行的数据,计算 140,再绑定 total_minutes。
  4. print 把内容显示出来。引号里的中文是文字,逗号分隔要输出的内容。print 不会替你把结果写进一个永久文件。

实际运行结果

一周学习分钟: 140

不要把这行输出复制到代码区。代码是要求运行环境执行的步骤;输出是执行之后看到的结果。本课示例会在内容测试中运行核对,完整 Python 也可在保留的在线运行器练习。

交互式演示

下面演示使用“单价 × 数量”的同类计算。先预测第一次输出,再按下一步。注意:后来只修改数量,已经算好的总价不会自动更新。最后再次计算,才会得到新结果。尝试把参数改为 0 和 7,解释两种结果的来源。演示使用受限教学解释器,只覆盖页面说明的基础语法。

常见错误分析

  • 把 20 写成 "20" 后,它就成了文字。字符串乘整数表示重复,并非时间的数值运算。先确认数据代表什么,再选择类型。
  • 以为 print 等于“保存”。刷新页面后是否保留,取决于产品是否显式存储;本演示不保存输入代码。
  • 以为手机没有安装 Python 就无法学习。浏览器可以加载运行环境或教学模型,但不代表网页能随意读写设备文件。

分层练习

基础: 对“每本书 18 元,买 3 本,显示总价”指出输入、处理和输出。

应用: 改写示例,计算每天 35 分钟、持续 5 天的总分钟数。先写下预测,再运行。

迁移: 总时长算好后,把每天分钟改为 40,但不重新计算,输出会自动改变吗?用执行顺序解释。

答案与详细解析

基础题:输入是 18 和 3,处理是乘法,输出是总价 54 元。

minutes_per_day = 35
days = 5
total_minutes = minutes_per_day * days
print(total_minutes)
minutes_per_day = 40
print(total_minutes)
total_minutes = minutes_per_day * days
print(total_minutes)

三次输出依次是 175、175、200。第二次仍为 175,因为 total_minutes 保存的是此前的计算结果,而不是持续与 minutes_per_day 联动的电子表格公式。第三次明确重新计算才更新。

延伸学习资源

继续阅读从解决步骤到第一段程序。想核对语言概念,可打开 Python 官方中文教程:非正式介绍。官方教程不是本课的复制内容,也不要求你现在完整读懂。

换个角度理解

像给一件物品贴标签。标签可以移到另一件物品上;另一张写着旧价格的收据,不会因为标签变了就自动改金额。列表可以被多个名字指向,同一列表的修改会被它们共同看到。

STEP 01计算右侧表达式
STEP 02得到一个值 / 对象
STEP 03绑定左侧名称

把输入、中间结果和输出分别命名,可以读懂每一步,也便于检查。total = price * count 比重复写一个魔法数字更容易维护。

动手观察:一步一步执行

这是当前知识点的独立教学示例,不是本课所有 Python 语法的模拟。修改参数、预测结果,再按下一步验证。完整语言练习使用可信代码运行器。

EXECUTION / 可操作的程序状态

把每一步,看明白

本地受限解释器
参数改变所选示例的数值;执行从头开始。

变量与作用域

输出

每步显示该语句求值后的快照;第 0 步尚未执行。条件行显示判断结果,函数调用单独显示进入与返回。自动播放可随时暂停,默认不会启动。

CHECK YOUR UNDERSTANDING

自己判断,才知道哪里没懂

先选答案再核对。答错会提供原因和补学方向,不影响课程完成进度。

基础 x = 3;y = x;x = 5。y 是多少?

应用 a = 2;b = a * 4;a = 3。b 是多少?

迁移 要让 total 跟随新 count 更新,需要什么?

尚未提交练习。知识掌握度和学习进度分别记录。

把你卡住的代码或错误交给理解引擎 →

这一节,你理解到哪里了?

这是你的自我反馈,与练习估计、课程进度分别记录。

本文为TheZ原创教学内容。正文采用 CC BY-NC-SA 4.0,代码采用 MIT 许可。请尊重署名与授权范围。