周六下午,我和儿子用一小段Python做了个猜数字,他连玩了八局
【一句话读完】猜数字是最适合「第一个Python小作品」的游戏之一:规则一句话能说清,改一行就能看到反馈。孩子连玩八局,不是为了练语法,是为了确认——这东西真的听我的。孩子学Python,最需要的不是第一节课就“学懂”,一、为什么偏偏是「猜数字」
第三,它天然会用到Python里最早该碰的几样东西:而是孩子为了“让游戏跑起来”,自己去撞上这些概念。二、那个下午我们怎么分工
以及让他自己决定“数字范围是1到50还是1到100”。三、代码不长,但思路比照抄重要(附注释版,约三十行)
我们那天的结构大致是这样(我用中文注释写清逻辑,方便你对着讲给孩子听):下面这段是“能跑起来”的完整小版本(含再来一局;我加了中文注释,方便数行数、也方便你讲给孩子听):import random# 外层 while:支持「再来一局」# 内层 while:一局里猜到猜中为止(小龄孩子若问,就一句话解释这两层)while True: print("我想了一个 1 到 100 之间的整数,你来猜!") secret = random.randint(1, 100) count = 0 while True: # 第一版我们直接用 int(input()),后来才处理「输入不是数字」的报错 guess = int(input("请输入你猜的数:")) count += 1 if guess < secret: print("太小了") elif guess > secret: print("太大了") else: print("猜对了!") print("你一共猜了", count, "次") break again = input("再来一局吗?输入 y 继续,其他键退出:") if again != "y": print("拜拜,下次再玩!") break
(至于怎么把报错看明白、怎么用AI问得更准,我们手记后面会专门写。)四、他为什么会「连玩八局」
五、刘工的三个「家长别踩坑」(比讲语法更重要)
六、写在最后:下一篇我们会把它「升级」
带他改出“第二版”(把结构收干净、加限制、加小功能)。