python4_画方格

news2024/10/1 4:48:52

python4_画方格

import turtle


def cell():
    # 画第一个方格
    # 设置画笔宽度为1
    turtle.width(1)
    # 下笔,这样,路径就会画出来
    turtle.pendown()
    # 前进30px像素
    turtle.forward(30)
    # 设置为黑色
    turtle.color("black")
    # 方向转90度
    turtle.left(90)
    # 前进30px像素
    turtle.forward(30)
    # 方向转90度
    turtle.left(90)
    # 前进30px像素
    turtle.forward(30)
    # 方向转90度
    turtle.left(90)
    # 前进30px像素
    turtle.forward(30)
    # 抬起画笔
    turtle.penup()

    # 画第二个方格
    # 方向转90度
    turtle.left(90)
    # 前进40px像素
    turtle.forward(40)
    # 设置为红色
    turtle.color("red")
    # 下笔,这样,路径就会画出来
    turtle.pendown()
    # 前进30px像素
    turtle.forward(30)
    # 方向转90度
    turtle.left(90)
    # 前进30px像素
    turtle.forward(30)
    # 方向转90度
    turtle.left(90)
    # 前进30px像素
    turtle.forward(30)
    # 方向转90度
    turtle.left(90)
    # 前进30px像素
    turtle.forward(30)
    # 抬起画笔
    turtle.penup()

    # 画第三个方格
    # 设置为红色
    turtle.color("green")
    # 前进10px像素
    turtle.forward(10)
    # 下笔,这样,路径就会画出来
    turtle.pendown()
    # 前进30px像素
    turtle.forward(30)
    # 方向转90度
    turtle.left(90)
    # 前进30px像素
    turtle.forward(30)
    # 方向转90度
    turtle.left(90)
    # 前进30px像素
    turtle.forward(30)
    # 方向转90度
    turtle.left(90)
    # 前进30px像素
    turtle.forward(30)
    # 抬起画笔
    turtle.penup()

    # 画第四个方格
    # 设置为红色
    turtle.color("yellow")
    # 前进10px像素
    turtle.forward(10)
    # 下笔,这样,路径就会画出来
    turtle.pendown()
    # 前进30px像素
    turtle.forward(30)
    # 方向转90度
    turtle.left(90)
    # 前进30px像素
    turtle.forward(30)
    # 方向转90度
    turtle.left(90)
    # 前进30px像素
    turtle.forward(30)
    # 方向转90度
    turtle.left(90)
    # 前进30px像素
    turtle.forward(30)
    # 方向转90度
    turtle.left(90)
    # 抬起画笔
    turtle.hideturtle()  # 隐藏箭头


if __name__ == "__main__":
    cell()
    turtle.done()

说明

上面的代码可以优化成下面
import turtle


def draw_square(color):
    """
    画一个边长为30像素的正方形。

    :param color: 正方形的颜色
    """
    turtle.color(color)
    turtle.pendown()
    for _ in range(4):
        turtle.forward(30)
        turtle.left(90)
    turtle.penup()


def cell():
    """
    画四个不同颜色的方格。
    """
    # 设置画笔宽度为1
    turtle.width(1)
    turtle.penup()

    # 画第一个方格
    turtle.goto(0, 0)
    draw_square("black")

    # 画第二个方格
    turtle.goto(40, 0)
    draw_square("red")

    # 画第三个方格
    turtle.goto(40, -40)
    draw_square("green")

    # 画第四个方格
    turtle.goto(0, -40)
    draw_square("yellow")

    # 隐藏箭头
    turtle.hideturtle()


if __name__ == "__main__":
    cell()
    turtle.done()

执行结果
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2181464.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTML+CSS基础 第二季课堂笔记

一、列表 列表都不是单打独斗的,通常都是一组标签组成 1 无序列表 作用:定义一个没有顺序的列表结构 由两个标签组成,ul(容器级标签),li(容器级) ul:英文ulordered …

828华为云征文 | 华为云Flexus云服务器X实例搭建企业内部VPN私有隧道,以实现安全远程办公

VPN虚拟专用网络适用于企业内部人员流动频繁和远程办公的情况,出差员工或在家办公的员工利用当地ISP就可以和企业的VPN网关建立私有的隧道连接。 通过拨入当地的ISP进入Internet再连接企业的VPN网关,在用户和VPN网关之间建立一个安全的“隧道”&#xff…

探索顶级低代码开发平台,实现创新

文章盘点ZohoCreator、OutSystems等10款顶尖低代码开发平台,各平台以快速开发、集成、数据安全等为主要特点,适用于不同企业需求,助力数字化转型。 一、Zoho Creator Zoho Creator 是一个低代码开发平台,它简化了应用开发中的复杂…

解决MySQL命令行中出现乱码问题

在MySQL命令行中遇到乱码问题通常是由于字符编码设置不正确导致的。以下是一些解决步骤: 1. **检查和设置字符集**: 首先,您需要确保MySQL服务器、客户端和数据库使用的是正确的字符集。您可以通过执行以下命令来查看当前的字符集设置&…

领英(LinkedIn)高效开发国外客户的6个技巧

社媒开发客户大家现在用的都挺多,每个社媒平台都有自己的特点,领英(LinkedIn)因为他特殊的职场定位,这上面有非常多的大客户,适合做B端的外贸企业,今天就来给大家分享一下如何利用领英高效开发国…

【无人机设计与控制】Multi-UAV|多无人机多场景路径规划算法MATLAB

摘要 本研究探讨了多无人机路径规划问题,提出了三种不同算法的对比分析,包括粒子群优化(PSO)、灰狼优化(GWO)和鲸鱼优化算法(WOA)。利用MATLAB实现了多场景仿真实验,验证…

关于 JVM 个人 NOTE

目录 1、JVM 的体系结构 2、双亲委派机制 3、堆内存调优 4、关于GC垃圾回收机制 4.1 GC中的复制算法 4.2 GC中的标记清除算法 1、JVM 的体系结构 "堆"中存在垃圾而"栈"中不存在垃圾的原因: 堆(Heap) 用途&#xff…

python-金币/打分/小理学数列3

一:金币 题目描述 国王将金币作为工资,发放给忠诚的骑士。 第一天,骑士收到一枚金币;之后两天(第二天和第三天)里,每天收到两枚金币;之后三天(第四、五、六天&#xff09…

数值计算 --- 平方根倒数快速算法(下)

平方根倒数快速算法(下) --- 向Greg Walsh致敬! 数值计算 --- 平方根倒数快速算法(上)_开根号倒数快速-CSDN博客文章浏览阅读712次,点赞31次,收藏30次。由于平方根倒数快速算法实在是太过经典,出于对code中magic number"0x5f…

Temu、亚马逊如何建立稳固的测评系统、避免挂单?

在跨境电商的测评与补单过程中,许多卖家和测评工作室常常面临由于技术环境不足导致的下单成功率低的问题。尤其是新账号在首次下单时,往往会遇到F号或砍单的困扰,进而陷入频繁购买和账号损失的恶性循环。这不仅消耗了大量时间和精力&#xff…

【真实访问】那些选择土木专业的学生,后来怎么样了?

“你会让孩子报土木专业吗?” 7月15日,澎湃新闻在微博上发起线上调研,截至16日12时,8000多人参与了投票,结果显示近7000人选择“不会,天坑专业”。短短几年时间,土木工程专业的报考从“香饽饽”…

Android Studio 新版本 Logcat 的使用详解

点击进入官方Logcat介绍 一个好的Android程序员要会使用AndroidStudio自带的Logcat查看日志,会Log定位也是查找程序bug的第一关键。同时Logcat是一个查看和处理日志消息的工具,它可以更快的帮助开发者调试应用程序。 步入正题,看图说话。 点…

如何实现Mybatis自定义插件

背景 MyBatis的插件机制,也可称为拦截器,是一种强大的扩展工具。它允许开发者在不修改MyBatis框架源代码的情况下,通过拦截和修改MyBatis执行过程中的行为来定制和增强功能。 MyBatis插件可以拦截四大核心组件的方法调用:Executor…

建筑中的文化表达与地方特色:演绎地域之魂

在浩瀚的城市风貌中,每一座建筑都是文化的载体,无声地讲述着地域的故事与精神。建筑不仅需要满足功能需求,更应成为文化传承与创新的舞台。本文旨在深度剖析建筑设计如何在尊重与弘扬地方文化的基础上,巧妙融合现代元素&#xff0…

828华为云征文|华为云 Flexus X实例之家庭娱乐中心搭建

话接上文《828华为云征文|华为云Flexus X实例初体验》,这次我们利用手头的 Flexus X 实例来搭建家庭影音中心和密码管理环境。 前置环境 为了方便小白用户甚至运维人员,我觉得现阶段的宝塔面板 和 1Panel 都是不错的选择。我这里以宝塔为例…

数通 1

通信:需要介质才能通信电话离信号塔(基站)越远,信号越弱。信号在基站之间传递。你离路由器越远,信号越差。一个意思 比如想传一张图片,这张图片就是数据载荷 网关,分割两个网络。路由器可以是网…

全网最详细——OpenFlow 协议分析

目录 1 OpenFlow 交换机 2 流表 3 OpenFlow 通道 4 任务描述 5 任务要求 6 任务实施 7 任务验收 1 OpenFlow 交换机 Open Flow 交换机可以分成流表和安全通道两部分。在 Open Flow协议规范中,控制器可以给交换机下发流表项来指导交换机处理匹配流表项的数据包…

ELK--收集日志demo

ELK--收集日志demo 安装ELK日志收集配置启动容器springboot配置测试 之前项目多实例部署的时候,由于请求被负载到任意节点,所以查看日志是开多个终端窗口。后来做了简单处理,将同一项目的多实例日志存入同一个文件,由于存在文件锁…

如何从相机的记忆棒(存储卡)中恢复丢失照片

当您意识到不小心从存储卡中删除了照片,或者错误地格式化了相机的记忆棒时,这些是您会大喊的前两个词。这是一种常见的情况,每个人在他们的一生中都会面临它。幸运的是,有一些方法可以从相机的 RAW 记忆棒(存储卡&…

【专题总结】【一文解决】C++多继承下的构造函数执行顺序

多继承下的构造函数执行顺序 派生类构造函数执行顺序如下 ①调用基类构造函数→调用顺序按它们被继承时【从左至右】被说明的次序 ②调用子对象的构造函数→调用顺序按它们在【类中说明次序】 ③调用派生类的构造函数 【典型题1】13浙工大卷二读程序4题 【分析】下面①classC:p…