从"拖积木"到"写代码"——你的编程探险,进入全新篇章
🎬 开场:女儿的"毕业焦虑"
完成《小猫雨》那个晚上,女儿突然有点闷闷不乐:
女儿: "妈妈,Scratch是不是太简单了?"
我: "为什么这么说?"
女儿: "我看爸爸写的代码,都是一行行英文字母,像写文章一样。我的Scratch像搭积木……是不是只有写那种代码,才是真正的程序员?"
我:(看向正在加班的爸爸)"老公,你来解释一下?"
爸爸摘下眼镜,把女儿抱到膝上:
"闺女,Scratch是自行车辅助轮,帮你学会平衡。但现在你能骑直线了,该拆掉辅助轮,骑真正的自行车了——Python。"
"而且Python不是你想的那么可怕。它叫'蟒蛇',但性格像小精灵——你说话,它干活。"
女儿眼睛亮了:"真的?像说英语一样?"
"试试就知道了。"
🎪 第一幕:Python = 万能瑞士军刀
爸爸从抽屉里掏出一把瑞士军刀:
"你看,这把刀有什么特点?"
女儿: "好多功能!能削苹果、开瓶盖、锯木头……"
爸爸: "对!Python就像这把刀——简洁、强大、随处可用。"
三大特点,像说英语一样简单
| | |
|---|
| 简洁易读 | Scratch是图形化,Python是文字版"积木" |
| 功能强大 | Scratch主要做动画游戏,Python无所不能 |
| 随处可用 | Scratch必须联网或装软件,Python更自由 |
女儿的第一个发现:
"妈妈!print("你好")——这真的就是'打印你好'的意思!我看得懂!"
🎬 第二幕:5分钟写出第一个程序——会聊天的"数字小精灵"
目标:不做游戏,先做一个会对话的程序——你问它答,像聊天一样。
Step 1:打开Trinket(免安装的魔法实验室)
操作:
左边:代码编辑区(写"咒语"的地方)
中间:运行结果区(看"魔法效果"的地方)
右边:控制台(程序和你聊天的地方)
为什么选Trinket?
✅不用安装:像打开网页一样简单
✅自动保存:不怕代码丢失
✅即时运行:点一下▶️,立刻看到效果
✅中文友好:支持中文输入输出
Step 2:第一行代码——跟世界打招呼
在左边代码区输入:
print("你好,我是你的数字小精灵!")print("你叫什么名字?")
点击▶️运行,看右边结果:
女儿的反应:"就……就这么简单?不用拖积木?"
爸爸:"对,print就是'打印/说'的意思,括号里放你想说的话。记住:所有符号都要用英文半角(就是英文输入法下的符号)。"
Step 3:让小精灵"听"你说话(输入功能)
升级代码,加入互动:
name = input("你叫什么名字?")print("你好," + name + "!很高兴认识你!")
运行效果:
核心概念解析:
| | |
|---|
input("提示文字") | 询问并等待 | |
name = ... | | |
+ | | |
女儿的理解:
"就像Scratch里的回答积木!input是问问题,name是变量存答案,print是说出来!"
Step 4:做个"智能"小精灵(条件判断)
加入判断,让小精灵会"思考":
name = input("你叫什么名字?")age = input("你几岁了?")print("你好," + name + "!")if int(age) < 10: print("哇,你是小朋友!我们可以一起玩Scratch!")else: print("你是大朋友了!要不要试试更难的代码?")
运行效果:
你叫什么名字?> 女儿你几岁了?> 8你好,女儿!哇,你是小朋友!我们可以一起玩Scratch!
新知识:if判断和int()转换
int(age):把输入的文字"8"变成数字8(因为input输入的永远是"文字")
if ... ::如果条件成立,就做下面缩进的事(注意冒号和缩进!)
else::否则,做另一件事
女儿的发现:
"缩进就像Scratch里的'积木嵌套'!if里面的代码要空两格,表示'这是if里面的事'!"
🎥 NG镜头:3个让"小精灵"罢工的错误
❌ NG镜头1:"标点符号用中文,程序直接崩溃!"
案发现场:女儿输入print("你好"),用了中文括号(),程序报错。
错误提示:SyntaxError: invalid character in identifier
导演复盘:
Python只认英文半角符号。中文括号、中文引号、中文冒号,都会让Python"看不懂"。
急救方案:
切换到英文输入法
记住常用符号的英文版:"" () : [] {}
❌ NG镜头2:"忘了缩进,小精灵不知道听谁的!"
案发现场:
if age < 10:print("你是小朋友!") 这里没缩进!
错误提示:IndentationError: expected an indented block
导演复盘:
Python用缩进(空格)表示"这段代码属于谁"。if后面的内容必须空两格(或四格),表示"这是if的'孩子'"。
急救方案:
❌ NG镜头3:"数字和文字直接相加,程序报错!"
案发现场:print("我" + 8 + "岁了")
错误提示:TypeError: can only concatenate str (not "int") to str
导演复盘:
Python很严格:文字(字符串)和数字(整数)是两种不同的东西,不能直接拼在一起。要像Scratch里那样,用连接积木,或者把数字变成文字。
急救方案:
👨💻 程序员爸爸点评:从"图形思维"到"抽象思维"
(爸爸看完女儿的第一个Python程序后,在餐巾纸上写的点评)
闺女,你知道你今天完成了什么吗?从图形化编程到文本编程的跃迁。
Scratch vs Python的本质区别:
Scratch是"所见即所得":积木形状告诉你什么能接什么,像拼图
Python是"所见即所想":你必须在脑子里想象程序结构,然后用文字精确描述
这种"抽象思维"的锻炼,比学Python本身更重要。
关于input和print:这是标准输入输出(I/O),所有程序的基础。你在和计算机"对话"——问问题、等回答、给反馈。聊天机器人、Siri、小爱同学,底层都是这个逻辑。
关于if-else:这是分支结构,让程序有了"判断力"。以后你会学到更复杂的elif(否则如果),可以处理 dozens of 种情况。
关于变量name和age:在Scratch里,变量是可视化的"积木盒子"。在Python里,变量是内存里的一个标签。name = "女儿"就像贴标签:"这块内存里存的是'女儿',以后找name就是找它"。
最后说个秘密:Python的设计哲学是"用一种方法,最好只有一种方法来做一件事"(虽然现实没那么理想)。这意味着Python代码往往很直白——你读代码就像读英语。
试试读这段:
for each_cat in cats: if each_cat.is_hungry(): each_cat.feed()
是不是不用解释也能猜出意思?"对于每只猫,如果它饿了,就喂它"——这就是Python的魅力。
🏆 分层作业:从"聊天小精灵"到"智能助手"
✅ 必做作业(基础对话)
《自我介绍小精灵》
询问用户的名字、年龄、喜欢的颜色
用print输出一段完整的自我介绍:"你好,XX岁的XX!原来你喜欢XX色!"
使用if判断:如果年龄<10,说"我们同龄!";否则说"你是大哥哥/姐姐!"
提交方式:Trinket分享链接,或截图代码+运行结果。
🥉 青铜挑战(计算器)
《智能加法器》
询问第一个数字,存进变量a
询问第二个数字,存进变量b
计算a + b,输出"XX + XX = XX"
进阶:询问用户想做什么运算(+、-、*、/),用if-elif-else实现四则运算
提示:记得用int()把输入转成数字才能计算!
🥈 白银挑战(猜数字游戏)
《猜数字小精灵》
程序心里想好一个数字(比如secret = 7)
让用户猜,输入数字
用if判断:
进阶:用while循环让用户可以一直猜直到猜对(需要查资料学while)
工程思维点:这是二分查找算法的雏形,以后你会学到怎么最快猜出答案。
🥇 黄金挑战(故事生成器)
《Mad Libs疯狂填词游戏》
询问用户输入:名字、地点、动物、动作、形容词
把这些词填入一个预设的故事模板:
从前有个叫[name]的人,住在[place]。一天,他遇到一只[adjective]的[animal],它正在[action]![name]吓得赶紧跑回家。
输出完整故事,要求语句通顺、搞笑
爸爸挑战:用random库让程序随机选择故事模板(准备3个不同故事),每次运行讲不同故事。
🎬 尾声:新的探险,刚刚开始
那天晚上,女儿把Trinket链接发给爷爷:
"爷爷,这是我写的程序!不是Scratch,是Python!你点一下▶️,它能跟你聊天!"
爷爷戴着老花镜,在手机上点开,慢慢输入自己的名字,看到程序回复"你好,XX!",笑得合不拢嘴:
"我孙女会写'英文代码'了!这比买的智能音响还聪明!"
女儿后来问我:
"妈妈,Python小精灵会记住我说过的话吗?下次打开,它还记得我吗?"
我摇摇头:"现在不会,每次运行都是新的开始。但以后你会学到文件和数据库——让小精灵有'长期记忆'。"
她眼睛发亮:"那我要快点学!我要做一个真正认识我的小精灵!"
这就是Python的魅力:它不像Scratch那样"所见即所得",但它给了你无限的可能。从一行print开始,你可以走向数据分析、人工智能、网站开发、游戏制作……任何你想去的地方。
Scratch教你"怎么思考",Python教你"怎么创造"。
欢迎来到Python的世界,小探险家!
📌 下集预告:《比计算器还聪明:让Python帮你"想"数学》
(我们要让Python不只是"算数",而是"思考数学"——从简单的加减乘除,到自动找规律、判断质数、甚至解方程。你会发现,Python比计算器聪明多了:它会循环尝试、会条件判断、会自己找答案。准备好让你的"数字小精灵"成为数学课代表了吗?)