Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

输入与输出

引言

计算机程序就像一个神奇的魔法盒子,它可以接收你的输入(Input),经过处理后,再给你输出(Output)。这一章,我们要学习如何让计算机程序和你“对话“——接收你的指令和信息,然后把结果显示给你。

计算机的输入输出设备 🖥️

在我们学习编程之前,先来认识一下计算机的“五官“——输入输出设备:

输入设备:计算机用来接收信息的工具

  • 🎹 键盘:像计算机的“耳朵“,接收你按下的按键
  • 🖱️ 鼠标:像计算机的“手“,接收你的点击和移动
  • 🎤 麦克风:像计算机的“听觉器官“,接收你的声音

输出设备:计算机用来展示信息的工具

  • 📺 显示器:像计算机的“嘴巴“,把结果展示给你看
  • 🔊 扬声器:像计算机的“声音“,播放音乐和音效
  • 🖨️ 打印机:把计算机里的内容打印在纸上

想象一下,你在玩一个电子游戏:

  • 输入:你按下键盘上的按钮、点击鼠标 → 输入设备在工作
  • 处理:计算机的CPU(中央处理器)计算游戏画面
  • 输出:屏幕上显示游戏画面、播放音乐、显示分数 → 输出设备在工作

我们写程序时,最常用的输入输出方式就是:

  • 输入:通过键盘输入文字或数字
  • 输出:在屏幕上显示文字或数字

🎯 本章目标

通过这一章,你将学会:

  • 让计算机“说话“(输出)
  • 让计算机“倾听“(输入)
  • 用变量存储数据
  • 做一个能做数学题的计算器!

输出

认识 print 函数

在Python中,让程序“说话“的方法叫做 print(打印)。print 可以把内容显示在屏幕上。

让我们试试看:

print(5)
print("Jerry")  # 双引号中的是字符串,基本按照原样输出
print("Jerry, ", 10, " years old")  # 多个输出,用逗号隔开
print() # 输出空行
print(5 + 3) # 输出计算结果

运行结果:

5
Jerry
Jerry,  10  years old

8

👨‍🏫 给家长的小贴士

  • 这里的 print 是一个“函数“(function),现在孩子不用理解什么是函数,只需要知道它是一个工具,可以帮我们输出内容
  • 双引号 "" 中的内容叫做“字符串“(string),会原样输出
  • 如果没有双引号,Python会把它当作数字或变量来处理
  • # 后面的是注释,计算机不会执行,只是给人看的说明
  • 教学建议:可以让孩子先运行这段代码,然后修改数值再次运行,观察输出结果的变化,这样可以让孩子理解“输出“的概念

实践:打印长方形信息

现在我们用 print 来展示一个长方形的信息:

print("rectangle")
print("---------------")
print("length   : ", 5)
print("width    : ", 4)
print("area     : ", 5 * 4)
print("perimeter : ", (5 + 4) * 2)

运行结果:

rectangle
---------------
length   :  5
width    :  4
area     :  20
perimeter :  18

📐 数学小知识

  • 面积 = 长 × 宽
  • 周长 = (长 + 宽) × 2
  • 这个例子中:面积 = 5 × 4 = 20,周长 = (5 + 4) × 2 = 18

想一想:如果要计算宽为3的长方形,如何修改程序?

答案:你需要把所有 4 改成 3

print("rectangle")
print("---------------")
print("length   : ", 5)
print("width    : ", 3)  # 改这里
print("area     : ", 5 * 3)  # 改这里
print("perimeter : ", (5 + 3) * 2)  # 改这里

但是这样改来改去很麻烦,有没有更好的办法呢?

使用变量

什么是变量?

变量就像是贴了标签的盒子。

想象你的书桌上有很多盒子:

  • 每个盒子上都贴着一个标签(名字)
  • 你可以在盒子里放东西(值)
  • 你可以随时打开盒子,看看里面是什么
  • 你也可以随时换掉盒子里的东西

在Python中,我们用 = 来给变量“赋值“(给盒子装东西):

  • = 的左边是盒子的标签(变量名)
  • = 的右边是要放进去的东西(值)
l = 5  # 把数字5放进标签为"l"的盒子
w = 4  # 把数字4放进标签为"w"的盒子

用变量改进长方形程序

现在我们用变量来重写长方形程序:

l = 5  # length(长度)的缩写
w = 4  # width(宽度)的缩写

print("rectangle")
print("---------------")
print("length   : ", l)
print("width    : ", w)
print("area     : ", l * w)
print("perimeter : ", (l + w) * 2)

现在,如果你想计算宽为3的长方形,只需要改一个地方:

l = 5
w = 3  # 只需要改这里!

print("rectangle")
print("---------------")
print("length   : ", l)
print("width    : ", w)
print("area     : ", l * w)
print("perimeter : ", (l + w) * 2)

变量的命名规则

给变量起名字时,要遵守一些规则:

✅ 可以用:

  • 英文字母(大小写都可以)
  • 数字(但不能作为开头)
  • 下划线 _

❌ 不能用:

  • 数字开头(如 1name
  • 空格或特殊符号(如 my-namename@
  • Python的关键字(如 printinput 等)

好的变量名例子:

length = 5  # 用完整的英文单词
width = 4
l = 5  # 用有意义的缩写
w = 4
my_name = "Tom"  # 多个单词用下划线连接

不好的变量名例子:

a = 5  # 看不出是什么意思
x1 = 5  # 没有意义

更改变量的值

变量盒子里面的东西可以随时更换:

w = 4
print(w)  # 输出:4

w = 6
print(w)  # 输出:6

w = w + 1
print(w)  # 输出:7(解释:把w的值加1后重新放回w里)

👨‍🏫 给家长的小贴士

  • 孩子可能会对 w = w + 1 感到困惑,因为在数学中这是不成立的
  • 在编程中,= 是“赋值“而不是“相等“
  • 可以这样解释:把盒子w里的东西拿出来,加1后再放回去
  • 教学方式:用实物演示,比如准备一些小积木放在盒子里,让孩子亲手操作,理解“取出、加1、放回“的过程

练习1:正方形计算器

任务:参照上面的长方形程序,写一个计算正方形周长和面积的程序。

对于一个边长为3的正方形,要能输出如下:

square
----------------
side : 3
area : 9
perimeter : 12

提示

  • 正方形只需要一个变量 side(边长)
  • 📐 数学知识
    • 正方形的四条边都相等
    • 面积 = 边长 × 边长
    • 周长 = 边长 × 4
  • 这个例子中:面积 = 3 × 3 = 9,周长 = 3 × 4 = 12
点击查看答案
side = 3

print("square")
print("---------------")
print("side : ", side)
print("area : ", side * side)
print("perimeter : ", side * 4)

输入

什么是输入?

之前我们学习了“输出“,程序可以把结果显示在屏幕上。但只有输出还不够,我们希望程序能和用户“对话“。

这就需要用到输入功能!

🔄 输入输出的循环

  1. 输出:程序在屏幕上显示问题(通过显示器这个输出设备)
  2. 用户思考:你看到问题,在脑子里想答案
  3. 输入:你通过键盘输入答案(通过键盘这个输入设备)
  4. 处理:程序接收你的答案,进行处理
  5. 输出:程序再次显示结果(通过显示器)

这个循环就像两个人在对话:

  • 程序“说话“(输出)
  • 你“说话“(输入)
  • 程序理解并“回答“(处理和输出)

认识 input 函数

Python中的 input() 函数可以让程序接收你通过键盘输入的信息。

让我们一步步学习:

最简单的输入

name = input()
print("Hi, ", name)

运行这段程序时:

  1. 程序会停下来等待(你看不到任何提示)
  2. 你输入名字(比如“Tom“)并按回车
  3. 程序继续执行,输出 Hi, Tom

添加提示信息

print("What is your name?")
name = input()
print("Hi, ", name)

这样用户就知道该做什么了!

更简洁的写法

我们可以把提示信息直接放在 input() 的括号里:

name = input("What is your name?")
print("Hi, ", name)

👨‍🏫 给家长的小贴士

  • 括号里的文字叫做“参数“(parameter),现在孩子不需要理解这个词
  • 可以这样解释:把提示信息“交给“ input 函数,让它在等待输入时显示出来
  • 教学建议:可以用角色扮演的方式,家长扮演“程序“,孩子扮演“用户“,模拟输入输出的对话过程,帮助孩子理解程序与人的交互

让输出更美观

我们可以在问候语前加一个空行:

name = input("What is your name?")
print()  # 输出一个空行
print("Hi, ", name)

或者在提示语后加换行符 \n

name = input("What is your name?\n")  # \n 表示换行
print()
print("Hi, ", name)

关于 \n

  • \n 是一个特殊符号,表示“换行“(new line)
  • \ 叫做“转义符“,它让后面的 n 不再是字母n,而是代表换行

输入多个信息

现在我们让程序更聪明一点,询问用户的更多信息:

name = input("What is your name?")
age = input("How old are you?")

print("Haha, you are ", name)

运行示例:

What is your name? Tom
How old are you? 10
Haha, you are  Tom

练习2:个人信息汇总

任务:写一个程序,询问用户的名字和年龄,然后输出一句话介绍他/她。

期望输出:

What is your name? Tom
How old are you? 10

Haha, you are Tom, you are 10 years old
点击查看答案
name = input("What is your name?")
age = input("How old are you?")

print()
print("Haha, you are ", name, ", you are ", age, " years old")

更漂亮的输出方式

上面的输出会有很多空格,因为 print() 默认会在逗号 , 的位置加空格。Python 3.6+ 提供了一种更漂亮的输出方式,叫做 f-string(格式化字符串):

name = input("What is your name?")
age = input("How old are you?")

print(f"Haha, you are {name}, you are {age} years old")

注意

  • print() 前面的字母 f 不能忘记!
  • {name}{age} 会自动替换成变量的值
  • 这种方式更灵活,你可以自由决定在哪里加空格

给家长的小贴士

  • f-string 是 Python 3.6 引入的新特性,现代Python代码推荐使用
  • 可以这样解释:字母 f 告诉Python“这里有变量要替换“
  • {} 就像是一个小窗口,透过它可以看到变量盒子里的内容

综合练习:交互式计算器

现在让我们把输入和输出结合起来,做一个真正的交互式程序!

练习3:长方形计算器(最终版)

任务:写一个程序,询问用户长方形的长和宽,然后输出面积和周长。

期望输出示例:

rectangle
---------------
length ? 5
width ? 4
area : 20
perimeter : 18
点击查看答案
print("rectangle")
print("---------------")

l = int(input("length ? "))
w = int(input("width ? "))

print("area : ", l * w)
print("perimeter : ", (l + w) * 2)

说明

  • int(input(...)) 先获取输入,再立即转换成数字
  • 这样 lw 就是数字类型,可以直接进行数学运算
  • 关于 int() 的详细讲解在下一章

👨‍🏫 给家长的小贴士

  • 这里出现了一个新问题:input() 返回的是“字符串“,不能直接做数学运算
  • int() 函数可以把字符串转换成数字(integer,整数)
  • 这个知识点在第三章会详细讲解
  • 如果孩子提出疑问,可以先简单解释:计算机把输入当作文字,需要告诉它“这是数字“
  • 教学建议:可以演示一下不加 int() 会发生什么错误,让孩子理解数据类型的重要性

综合练习:数学应用题 📝

现在让我们用输入输出功能来解决一些数学应用题!

练习4:年龄计算器

任务:写一个程序,询问用户今年的年龄,然后计算5年后的年龄。

期望输出示例:

How old are you? 10

Five years later, you will be 15 years old
点击查看答案
age = int(input("How old are you? "))

print()
print(f"Five years later, you will be {age + 5} years old")

📐 数学知识

  • 这是简单的加法运算:未来年龄 = 现在年龄 + 年数
  • 本题中:15 = 10 + 5

练习5:价格计算器

任务:写一个程序,询问用户购买苹果的数量和单价,计算总价。

期望输出示例:

How many apples? 6
Price per apple? 2

Total price: 12 yuan
点击查看答案
count = int(input("How many apples? "))
price = int(input("Price per apple? "))

print()
print(f"Total price: {count * price} yuan")

📐 数学知识

  • 总价 = 单价 × 数量
  • 本题中:12 = 2 × 6

练习6:速度计算器

任务:写一个程序,询问用户汽车的速度和行驶时间,计算行驶距离。

期望输出示例:

Speed (km/h)? 60
Time (hours)? 2

Distance: 120 km
点击查看答案
speed = int(input("Speed (km/h)? "))
time = int(input("Time (hours)? "))

print()
print(f"Distance: {speed * time} km")

📐 数学知识

  • 距离 = 速度 × 时间
  • 本题中:120 = 60 × 2

👨‍🏫 给家长的小贴士

  • 这些练习都是小学数学常见的应用题类型
  • 通过编程练习,可以加深孩子对数学公式的理解
  • 教学建议
    • 先让孩子用纸笔算出答案,再编程验证
    • 鼓励孩子自己出题,交换做题
    • 可以讨论生活中还有哪些类似的计算问题

本章小结

恭喜你完成了这一章!你已经学会了:

  1. 输出:使用 print() 在屏幕上显示内容
  2. 变量:用标签盒子存储和改变数据
  3. 输入:使用 input() 获取用户输入
  4. f-string:用 {} 和字母 f 美化输出
  5. 数学应用:用编程解决年龄、价格、距离等数学问题

重要概念

  • ✅ 变量就像贴了标签的盒子
  • = 是“赋值“,不是“相等“
  • input() 得到的是字符串
  • print() 可以输出多个内容,用逗号隔开
  • ✅ 输入输出设备(键盘、显示器)是计算机与用户交互的“五官“

🖥️ 计算机知识回顾

  • 输入设备:键盘、鼠标、麦克风等,让计算机接收信息
  • 输出设备:显示器、扬声器、打印机等,让计算机展示信息
  • 程序交互:通过输入输出,程序可以和人“对话“
  • 数据处理:输入 → 处理 → 输出,这是计算机工作的基本流程

📐 数学知识回顾

  • 长方形:面积 = 长 × 宽,周长 = (长 + 宽) × 2
  • 正方形:面积 = 边长 × 边长,周长 = 边长 × 4
  • 加法:未来年龄 = 现在年龄 + 年数
  • 乘法:总价 = 单价 × 数量,距离 = 速度 × 时间

🎉 下节预告:下一章我们会详细学习“字符串“——文字在计算机中是如何存储和处理的。你会发现,文字也可以做很多有趣的操作!


💡 给家长的建议

  • 这一章是编程基础,建议让孩子多练习,熟练掌握输入输出
  • 可以让孩子设计自己的“小问题“,用编程来解答
  • 鼓励孩子用数学知识来解决实际问题,增强学习兴趣
  • 如果孩子对某个概念不理解,可以结合生活中的例子来解释