当前位置:首页>python>Python教程(21)turtle库综合案例:谁是最快的龟?(上)

Python教程(21)turtle库综合案例:谁是最快的龟?(上)

  • 2026-10-11 05:40:06
Python教程(21)turtle库综合案例:谁是最快的龟?(上)

你好,我是雨霖八珞,同名B站UP主。关注合集不迷路。以下内容为个人教学,真诚分享,欢迎交流。

今天我们继续来做海龟库的综合案例。

涉及到海龟库的基础操作、for循环、随机库、time库和if判断。

这个程序能干什么?

五只不同颜色的小海龟站在同一起跑线上。经过倒计时后,所有小海龟同时出发。每只海龟每次前进的步数是随机的。最先到达终点的小海龟获胜,获胜者会戴上“冠军”奖杯。

每次运行后的结果都不一样。

需要解决哪些问题?

1、怎么创建多只海龟?

用 for 循环创建,生成5个海龟对象,存在列表里,用索引号来识别

2、怎么让海龟颜色不同?

准备一个颜色列表,每只海龟分配不同颜色

3. 怎么让海龟并排站?

设置不同的 y 坐标

4. 怎么让海龟随机前进?

用到随机函数random.randint(1, 10)

5、怎么知道谁赢了?

用 if 判断海龟的 x 坐标是否到达终点

程序的整体框架是:

准备工作

画起跑线和终点线

      生成5只海龟        

开始比赛

倒计时

      每只海龟随机前进

      判断是否到达终点

显示结果

      宣布获胜者

准备工作

1、设置窗口

为了方便定位,我们先来设置窗口大小

如下图所示,屏幕大小:横向500,纵向700

窗口设置好了后,和笛卡尔坐标系一样,x坐标横向向右,y坐标纵向向上最中心就是原点(0,0)。

所以起点线、终点线两端端点的坐标就可以确定了(也可以自行设置)

为了明确终点线的位置,可以在终点线中心靠上一点的位置绘制终点标志

这部分程序代码如下:

2、小海龟亮相

分析:因为要出现五只小海龟,你肯定会想到用循环。

是的,可以利用循环,生成五只小海龟对象。

什么是对象?

万物皆是对象,每个对象都有自己的属性、行为

比如海龟就是一个对象:

  • 海龟的属性:颜色、大小、方向、位置

  • 海龟的行为:能走(往前走、往后走),能转(左转、右转)

今天我们简单用一下,等到以后学习面向对象的内容时再详细介绍。

如何创建一个海龟对象呢?

接着上面的程序写

t = turtle.Turtle('turtle')

  • turtle.Turtle()可以生成一支画笔

  • 如果参数为 'turtle',表示画笔的形状是一只小海龟

运行效果如下:

继续完善,需要实现下图效果:

还需要增加代码:

  • 颜色:小海龟为红色 turtle.color('red')

  • 位置:起跑线下面    turtle.goto(-150,-280)

  • 方向:头向上

增加的代码如下图所示

接下来,需要用for循环,创建五个海龟对象,颜色不同,坐标位置不同

可以将所有的颜色字符串放到列表中

colors = ["red", "blue", "green", "orange", "purple"]

每次通过colors[索引]调用即可

设置好了第一个海龟的位置,观察一下五个海龟的起始位置

规律是:

  • 纵坐标一样,都是-280

  • 横坐标依次递增,增量可以自己尝试,我用的是70

还需要提前创建一个空列表turtles,用来存放所有海龟对象

每次生成好一个海龟对象,就把这个海龟对象添加到turtles列表中去

整段代码运行后,效果如下所示

五只小海龟已经准备就绪,各就各位,全部面朝终点。

但是 —— 它们现在还不会动。

要让它们跑起来,还需要两样东西:

倒计时:3、2、1、跑!增加比赛的仪式感

随机前进:每只海龟每次走的步数都不一样,充满悬念

最终,谁最先冲过终点线?获胜的海龟如何戴上冠军奖杯?

下一篇,我们来写倒计时和比赛过程,让五只小海龟真正跑起来,见证冠军的诞生!

本公众号内容均为原创。如需转载或引用,请先联系我。谢谢你的尊重。

觉得不错的话,伙伴们记得关注、在看、转发和点赞哈!

最新文章

随机文章