0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何用Python for循环实现两辆汽车相向而行

麦辣鸡腿堡 来源:Python都知道 作者:了不起 2023-09-27 16:41 次阅读

要实现汽车跑动,首先我们要加载一张城市道路图作为背景图,然后就要把海龟的图形变为汽车的模样,最后实现两辆汽车相向而行的效果。

首先,加载背景图片:

turtle.bgpic(picname=None)

turtle.bgpic(picname=None)设置背景图片或返回当前背景图片的名称。如果picname 是文件名,则将相应的图像设置为背景。如果 picname"nopic" ,则删除背景图像(如果存在)。如果 picnameNone ,则返回当前背景图像的文件名。

这里我们加载同文件目录下的背景图片如下:

import turtle
turtle.bgpic("bg1.png")  # 加载背景图片
```然后,添加汽车作为画笔形状:

turtle.register_shape(name)

`turtle.register_shape()`可以新增更多的画笔`shape`,其用法之一就是添加`gif`图片作为画笔的新形状。使用自己的图片作为画笔shape时需要注意,首先海龟仅支持`gif`图片,另外这样的画笔`shape`无论怎样设置`resizemode`均不能通过`shapesize`指令进行笔头大小设置。以图片作为`shape`,笔头的大小就是由图片本身大小所决定的。当然,`turtle.register_shape()`还可以添加用元组作为坐标描述的多边形作为画笔的`shape`,这里我们并没有用到,就不过多赘述了。

因为我们要实现两辆汽车相向而行,所以要创建两个turtle的实例,并加载不同形状的汽车,如下:

turtle.register_shape('car1.gif') # 把小车图片放入海龟可用形状仓库中,便于调用
car1 = turtle.Turtle() # 生成turtle,命名为car1
car1.shape('car1.gif')

turtle.register_shape('car2.gif')
car2 = turtle.Turtle()
car2.shape('car2.gif')

最后,就是和乌龟赛跑一样,利用`for`循环实现汽车一起运行的效果:

car1.penup() # 抬笔,不要留下轨迹
car2.penup()

car1.goto(-300, -110)
car2.goto(300, -200)

car2.left(180)

car1.speed(2)
car2.speed(2)

for sp in range(1, 80):
car1.forward(sp)
car2.forward(sp)

turtle.done()

所以,所有总的代码是:

import turtle
turtle.bgpic("bg1.png") # 加载背景图片

turtle.register_shape('car1.gif') # 把小车图片放入海龟可用形状仓库中,便于调用
car1 = turtle.Turtle() # 生成turtle,命名为car1
car1.shape('car1.gif')

turtle.register_shape('car2.gif')
car2 = turtle.Turtle()
car2.shape('car2.gif')

car1.penup() # 抬笔,不要留下轨迹
car2.penup()

car1.goto(-300, -110)
car2.goto(300, -200)

car2.left(180)
car1.speed(2)
car2.speed(2)
for sp in range(1, 80):
car1.forward(sp)
car2.forward(sp)
turtle.done()


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 循环
    +关注

    关注

    0

    文章

    92

    浏览量

    15957
  • for
    for
    +关注

    关注

    0

    文章

    44

    浏览量

    15797
  • python
    +关注

    关注

    56

    文章

    4782

    浏览量

    84456
收藏 人收藏

    评论

    相关推荐

    一文详解python循环

    今天给大家带来python循环
    发表于 10-01 10:48 6615次阅读
    一文详解<b class='flag-5'>python</b><b class='flag-5'>循环</b>

    关于两辆智能小车如何保持一致,在同一垂直水平上。。

    两辆小车位置保持一致的方法。。如果位置偏移了。可以通过单片机来控制自动调整。。如果不用红外线。请问用什么传感器来实现比较好。。。
    发表于 04-21 16:15

    何用Cubemx配置一路循迹小车?

    何用Cubemx配置一路循迹小车?
    发表于 01-21 07:17

    Python for、while 等循环速度对比

    增长上万倍。while 和 for 是 Python 中常用的实现循环的关键字,它们的运行效率实际上是有差距的。比如下面的测试代码:import timeitdef while_l
    发表于 03-25 16:05

    两辆ff样车运抵北京 车回过了贾跃亭人却依然见不着

    贾跃亭的汽车梦又进一步了。近日,两辆ff样车运抵北京,贾跃亭本人依然没有亮相,是害怕被讨债者围追堵截吗?这两辆ff样车估计有危险了,讨债者会不会拿去抵债呢?
    发表于 05-02 09:48 2570次阅读

    宝马R18摩托车国内上市 价格能买两辆思域

    不仅在乘用车方面,在摩托车领域,宝马也是货真价实的高端品牌,甚至一摩托都能买两辆汽车。 日前,我们于宝马官方了解到,宝马继承者系列,首款旗舰巡航摩托车—全新BMW R18正式登陆中国市场,并同
    的头像 发表于 12-17 11:19 4314次阅读

    详解Python的for和while循环

    Python 的 for 和 while 循环是灵活并且高级的,语法自然、读起来像伪代码。而 Cython 也支持 for 和 while,无需修改。但由于循环通常占据程序运行时的大部分时间,因此我们可以通过一些优化,确保 Cy
    的头像 发表于 06-24 16:02 1467次阅读

    Python的while循环是什么

    Python中有2种循环。一种循环次数明确,另一种循环次数不明确。`for循环`的循环重复次数是
    的头像 发表于 02-23 11:15 1213次阅读

    Python中的for循环结构

    Python 中,for 循环是一种常用的结构,用于遍历序列(如列表、元组、字符串)中的元素。
    的头像 发表于 04-19 15:45 2268次阅读

    Python循环语句介绍

    哈喽大家好,我是知道。今天带大家了解下Python循环语句 定义循环语句允许我们执行一个语句或语句组多次 类型Python提供了种不同类
    的头像 发表于 05-11 17:39 856次阅读

    结合for循环实现两辆汽车相向而行

    实现汽车跑动,首先我们要加载一张城市道路图作为背景图,然后就要把海龟的图形变为汽车的模样,最后实现两辆
    的头像 发表于 07-05 16:31 685次阅读
    结合for<b class='flag-5'>循环</b><b class='flag-5'>实现</b><b class='flag-5'>两辆</b><b class='flag-5'>汽车</b><b class='flag-5'>相向</b><b class='flag-5'>而行</b>

    何用Python实现文件系统的操作功能

    就来介绍一下如何用 Python实现这些功能 输出当前的路径 我们可以通过 Python 当中的 OS 库来获取当前文件所在的位置 import os os .getcwd() 路
    的头像 发表于 10-30 14:27 386次阅读
    如<b class='flag-5'>何用</b><b class='flag-5'>Python</b>来<b class='flag-5'>实现</b>文件系统的操作功能

    何用python实现RFM建模

    今天给大家分享的是如何用python实现RFM建模。 RFM模型的含义 RFM模型是衡量客户价值和客户创利能力的重要工具和手段。在众多的客户关系管理(CRM)的分析模式中,RFM模型是被广泛提到
    的头像 发表于 11-02 10:36 798次阅读
    如<b class='flag-5'>何用</b><b class='flag-5'>python</b><b class='flag-5'>实现</b>RFM建模

    python最简单for循环例子

    Python是一种简单而又强大的编程语言,通过其清晰的语法和丰富的功能库,我们可以实现各种各样的任务。其中一个最基本的语法结构就是for循环,让我们来看一下如何使用for循环来编写一个
    的头像 发表于 11-21 14:53 972次阅读

    python循环创建变量并赋值

    Python中如何使用循环创建变量并赋值,以及它的一些应用场景。 首先,让我们来了解一下Python中的循环Python提供了
    的头像 发表于 11-23 14:51 1615次阅读