当前位置:首页>python>Python趣味实战:让小海龟思考,用代码解锁密室奥秘

Python趣味实战:让小海龟思考,用代码解锁密室奥秘

  • 2026-09-08 15:47:22
Python趣味实战:让小海龟思考,用代码解锁密室奥秘

少儿编程Python实战课:当小海龟学会了“思考”,带孩子用代码玩转密室逃脱!

哈罗,各位大朋友小朋友们!在前面的课程里,我们学会了用 if 语句让电脑做选择,也养了一只会在屏幕上画画的小海龟(Turtle)。

如果把这俩结合在一起,会发生什么神奇的化学反应呢?

答案是:我们可以做游戏啦!今天,我们不讲枯燥的语法,直接带孩子们用代码给小海龟设计两场惊险刺激的“密室逃脱”和“沙漠求生”!

📍 神奇的第一招:给小海龟装上“GPS定位”

在玩游戏之前,我们得先确保小海龟知道自己在哪儿。

在 Python 里,我们可以使用 pos() 函数来判断当前画笔(小海龟)的位置。 大家可以把它想象成小海龟身上自带的 GPS 定位系统。我们都知道,小海龟刚出生时,默认的初始位置是在画布正中央,也就是坐标 (0, 0) 的地方。

我们可以用 if...else 语句来跟它打个招呼:

import turtle

x, y = turtle.pos()  # 返回当前位置的坐标x和y
# 判断小海龟是不是在老家(0,0)
if x == 0 and y == 0:
print('Yes')
else:
print('No')

turtle.done()
运行一下,因为小海龟还没动弹,屏幕下方的控制台就会乖乖吐出一个 
Yes!

🕵️‍♂️ 游戏一:听暗号,走出迷宫!

现在,小海龟被困在了一个隐形的迷宫里。想跑出来,必须听懂大喇叭里传来的“暗号数字”。

迷宫的逃亡规则是这样的:

  • 如果输入的数字能被 3 整除:原地不动。

  • 如果输入的数字被 3 整除余 1:向后退 100 步,并向右转 90 度。

  • 如果输入的数字被 3 整除余 2:向前走 100 步,并向左转 90 度。

我们要让用户随机输入 2 个数字当暗号,然后用红色的画笔画出小海龟的逃跑路线,最后打印出它停在了哪个坐标!

带孩子敲下这段魔法代码:

import turtle

# 1. 听暗号:输入两个整数
a = int(input('提示数字:'))
b = int(input('提示数字:'))

# 2. 换上一支红色的画笔
turtle.pencolor('red')

# 3. 破解第一个暗号 (a)
if a % 3 == 1:
    turtle.backward(100)
    turtle.right(90)
if a % 3 == 2:
    turtle.forward(100)
    turtle.left(90)

# 4. 破解第二个暗号 (b)
if b % 3 == 1:
    turtle.backward(100)
    turtle.right(90)
if b % 3 == 2:
    turtle.forward(100)
    turtle.left(90)

# 5. 汇报最终位置
print(turtle.pos())
turtle.done()
快去试试输入不同的数字,看看小海龟会画出怎样奇形怪状的逃跑路线吧!

🐪 游戏二:沙漠求生大考验

接下来是个更惊险的故事:探险队在长长的、宽度为 200km 的矩形沙漠里迷失了方向。

在没有参照物的情况下,人是很难走直线的。已知探险队每天能走 20km,但总是会不知不觉比原来向右偏移 10 度。 他们从坐标原点 (0, 0) 出发,笔直朝上走,走了六天后,到底有没有成功走出这片沙漠呢?

这里教大家一个新绝招:turtle.write() 函数!以前我们都是用 print() 在控制台里打印文字,现在用了 write(),文字会直接像贴纸一样贴在小海龟的画布上哦!

来看看探险队的生死路线:

import turtle

turtle.color('blue')
turtle.left(90)  # 先转个身,面朝上方(北方)准备出发
# 第一天:右偏10度,走20km
turtle.right(10)
turtle.forward(20)

# 第二天
turtle.right(10)
turtle.forward(20)

# 第三天
turtle.right(10)
turtle.forward(20)

# 第四天
turtle.right(10)
turtle.forward(20)

# 第五天
turtle.right(10)
turtle.forward(20)

# 第六天
turtle.right(10)
turtle.forward(20)

# 审判时刻:拿出GPS看看Y坐标
x, y = turtle.pos()

# 因为判断走出沙漠的界限是100km,所以Y跑大于等于100才算跑出去
if y >= 100:
    turtle.write('走出了沙漠')    # 直接写在画布上
else:
    turtle.write('还未走出沙漠')  # 直接写在画布上
turtle.done()
运行一下就会发现,因为天天往右偏,探险队走了一个大大的圆弧,第六天的时候,画布上会无情地显示出:“还未走出沙漠”!

📝 课后亲子小挑战

今天的实战是不是特别像在做小游戏?通过让小海龟结合 if 语句,孩子们不仅复习了条件判断,还深刻体会了坐标和方向在编程里的奇妙作用。

留个小作业:在上面的沙漠求生里,探险队走了 6 天没出去。那如果给代码再加上一天(第 7 天,也就是再手动加一遍右转 10 度、前进 20),他们能走出去吗?

最新文章

随机文章