《python程序语言设计》2018版第5章第51题利用turtle画18x18的格子

news2024/10/6 16:39:56

05.51.01version
先从第一一个格子来做
在这里插入图片描述


turtle.right(45)
turtle.circle(18, steps=4)
turtle.hideturtle()
turtle.done()

这个代码很简单的现实出格子的样式。
现在的问题是循环的话。首先角度45度怎么处理
随着45度一次一次迭代。他是应该转45+90呢还是45+45呢???
我们可以尝试一下。

24.07.03code

a = 18
for i in range(1, 18):
    turtle.penup()
    turtle.right(45 * i)
    turtle.pendown()
    turtle.circle(18, steps=4)
    turtle.penup()
    turtle.goto(a * i, a * i)

turtle.hideturtle()
turtle.done()

这个代码turtle像旋转的流星不断的甩尾,所以要改一下
在这里插入图片描述

说白了x,y的坐标我都乘以i造成了x,y自由飞行

2024.07.04

我将此处用原来的y轴从a*i改成0
现在可以很好的看到虽然方形还是再乱画,但是其实点都是一个
那也就说明,我现在这行代码是设计对了

    turtle.goto(a * i, 0)

在这里插入图片描述

接下来要处理的还是right该如何变动

    turtle.right(45)
    turtle.left(45)

45i 和不乘i甚至righti left不乘i都是效果不一样。大家可以试试。

在这里插入图片描述

我现在将right和left都不乘以i我取得了我想要的成果
当然距离我就好理解了。
在这里插入图片描述

此段代码可以循环绘画118列的矩形
a = 26
for i in range(1, 18):
    turtle.penup()
    turtle.right(45)
    turtle.pendown()
    turtle.circle(18, steps=4)
    turtle.left(45)
    turtle.penup()

    turtle.goto(a * i, 0)

turtle.hideturtle()
turtle.done()

在这里插入图片描述
在这里插入图片描述

我数学不好,大家自己计算一下吧。哈哈为什么。我也清楚。

接近成功 的代码

a = 26
for i in range(1, 19):
    turtle.penup()

    turtle.right(45)
    turtle.pendown()
    turtle.circle(18, steps=4)
    turtle.left(45)
     #它如果在left后面就回出现一个单独的方框,然后再出现阵列
    turtle.goto(a * i, 0)
    turtle.penup()
    for j in range(1, 19):
        turtle.penup()
        turtle.right(45)
        turtle.pendown()
        turtle.circle(18, steps=4)
        turtle.left(45)
        turtle.penup()
        turtle.goto(a * i, a * j)

turtle.hideturtle()
turtle.done()

增加了j的for循环直接成功了可是。。。。看不全屏幕

在这里插入图片描述
在这里插入图片描述

最终的代码。我一会上瑜伽课了。namaste!

turtle.speed(30)
turtle.screensize(1000, 1000)
a = 26
for i in range(1, 19):
    turtle.penup()
    turtle.goto(a * i, 0)
    turtle.right(45)
    turtle.pendown()
    turtle.circle(18, steps=4)
    turtle.left(45)
    turtle.penup()
    for j in range(1, 19):
        turtle.penup()
        turtle.right(45)
        turtle.pendown()
        turtle.circle(18, steps=4)
        turtle.left(45)
        turtle.penup()
        turtle.goto(a * i, -a * j)

turtle.hideturtle()
turtle.done()

在这里插入图片描述

祝大家学习愉快 3联 3联

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

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

相关文章

【Mac】Boxy SVG for Mac(矢量图编辑器)及同类型软件介绍

软件介绍 Boxy SVG 是一款功能强大的矢量图形编辑器,专门为 macOS 平台设计开发。它主要用于创建和编辑 SVG(可缩放矢量图形)文件,是设计师和开发者们制作矢量图形的理想工具。 以下是关于 Boxy SVG 的主要特点和功能&#xff1a…

权限维持Linux---监控功能Strace后门命令自定义Alias后门

免责声明:本文仅做技术交流与学习... 目录 监控功能Strace后门 1、记录 sshd 明文 监控 筛选查看 2、记录sshd私钥 命令自定义Alias后门 1、简单粗鲁实现反弹: 靶机替换命令 攻击机监听上线 2.升级(让命令正常) 将反弹命令进行base64编码 替换alias命令 …

使用本地部署的Hermes 2 Pro构建开放的LLM应用程序

之前我介绍了如何使用OpenAI最新的LLM GPT-4o,通过函数调用将实时数据引入到LLM。在这篇后续文章中我将介绍使用Hermes 2 Pro -Llama- 3 8B进行函数调用,这是一种由Nous Research开发的功能强大的LLM,基于Meta的Llama 3架构,有80亿…

解锁Diffusion Model: 初识Stable Diffusion、DALL-E、Imagen

------->更多内容&#xff0c;请移步“鲁班秘笈”&#xff01;&#xff01;<------- 扩散模型在生成高质量图像、视频、声音等方面表现突出。它们与物理学中的自然扩散过程相似而得名&#xff0c;自然扩散过程描述了分子如何从高浓度区域移动到低浓度区域。在机器学习的…

【Python】已解决:ModuleNotFoundError: No module named ‘cv2’

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决&#xff1a;ModuleNotFoundError: No module named ‘cv2’ 一、分析问题背景 在Python编程中&#xff0c;当你尝试导入一个不存在的模块时&#xff0c;会遇到ModuleNotFou…

公有链、私有链与联盟链:区块链技术的多元化应用与比较

引言 区块链技术自2008年比特币白皮书发布以来&#xff0c;迅速发展成为一项具有颠覆性潜力的技术。区块链通过去中心化、不可篡改和透明的方式&#xff0c;提供了一种全新的数据存储和管理方式。起初&#xff0c;区块链主要应用于加密货币&#xff0c;如比特币和以太坊。然而&…

Vue84-Vuex的工作原理与搭建开发环境

一、vuex工作原理 stats&#xff1a;是一个object对象&#xff0c;里面有很多key-value&#xff0c;存放的就是要操作的数据。mutations&#xff1a;是一个object对象&#xff0c;真正去操作stats的人。actions的作用&#xff1a;是一个object对象&#xff0c;当一个动作对应的…

力扣Hot100-24两两交换链表中的节点(三指针)

给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交换&#xff09;。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4] 输出&#xff1a;[2,1,4…

VirtualBox 虚拟机的网络通过宿主机的网络进行冲浪

虚拟机与宿主机通过桥接模式处在同一个网络中 1.说明2.操作步骤2.1.虚拟机设置网络2.2.手动指定虚拟机的IP 1.说明 A.虚拟机 ubuntu-20.04 B.宿主机网络 Wireless LAN adapter WLAN:Connection-specific DNS Suffix . : lanIPv4 Address. . . . . . . . . . . : 192.168.111…

MYSQL的简易安装

先下载好安装包 官网&#xff1a;https://www.mysql.com 双击运行进入界面 打开之后将左侧的产品移到右侧 点击使用的产品设置路径 之后一直下一步即可 选择主机类型 同时要记住端口号 设置密码 设置系统服务列表中的服务名称 之后一直下一步就可以了 安装完成记得配置环…

AUTOSAR NvM模块(七)

NvM工具配置demo 一切block的配置根据自己的需求&#xff01; NvMBlockDescriptor NvM Common MemIf General FeeBlockConfiguration FeeGeneral

CASS中按指定距离和方向移动图形

1、绘制一个图形 打开软件&#xff0c;随意绘制一个矩形&#xff0c;并量取左下角点的坐标值&#xff0c;具体如下&#xff1a; 2、按距离移动原理讲解 例1&#xff1a;将图形沿着y轴负方向移动100米&#xff0c;如何实现&#xff1f; 如上图所示&#xff0c;测绘中的坐标系…

【FPGA】STA静态时序分析

文章目录 一.定义二.分类1. 静态时序分析2. 静态时序分析 三. 概念四. 时间余量1.场景2.建立时间余量3.保持时间余量 一.定义 时序分析:检查电路是否满足时序要求&#xff1b; 二.分类 1. 静态时序分析 STA,遍历所有的时序路径&#xff0c;根据时序库&#xff08;.lib文件&…

基于Java中的SSM框架实现物流管理系统项目【项目源码+论文说明】

基于Java中的SSM框架实现物流管理系统演示 摘要 企业的发展离不开物流的运输&#xff0c;在一个大型的企业中&#xff0c;商品的生产和建设&#xff0c;推广只是前期的一些工作&#xff0c;在后期的商品销售和物流方面的建立&#xff0c;才能让一个企业得到大力的发展。 企业…

源代码层面分析Appium-inspector工作原理

Appium-inspector功能 Appium Inspector 基于 Appium 框架&#xff0c;Appium 是一个开源工具&#xff0c;用于自动化移动应用&#xff08;iOS 和 Android&#xff09;和桌面应用&#xff08;Windows 和 Mac&#xff09;。Appium 采用了客户端-服务器架构&#xff0c;允许用户通…

BNO055 智能传感器

型号简介 BNO055是博世&#xff08;bosch-sensortec&#xff09;的一款系统级封装 (SiP) 解决方案&#xff0c;集成了三轴 14 位加速度计、精确的闭环三轴 16 位陀螺仪、三轴地磁传感器和运行 BSX3.0 FusionLib 软件的 32 位微控制器。这款智能传感器比同类解决方案小得多。通过…

JAVA 获取客户端信息工具类

获取客户端信息工具类 import com.wangyao.common.constant.ConstantNumeral; import jakarta.annotation.Nullable; import jakarta.servlet.http.HttpServletRequest; import jakarta.validation.constraints.NotNull; import lombok.extern.slf4j.Slf4j;import java.io.IOEx…

一文了解微服务架构路线

为什么选择微服务架构&#xff1f; 众所周知&#xff0c;单体应用程序&#xff0c;由于其种种不足&#xff0c;几乎不支持敏捷方法。如果你想为一个大型或复杂的业务创建一个软件项目&#xff0c;最好从微服务架构开始。 微服务架构是一种灵活的架构&#xff0c;可以显著性地提…

阿里云 ECS 服务器的安全组设置

阿里云 ECS 服务器的安全组设置 缘由安全组多个安全组各司其职一些常见的IP段百度 IP 段华为云 IP 段搜狗蜘蛛 IP 段阿里云 IP 段 。。。 缘由 最近公司规模缩减&#xff0c;原有的托管在 IDC 机房的服务器&#xff0c;都被处理掉了&#xff0c;所有代码都迁移到了阿里云的云服…

手机图库照片删除如何找回?别再捶胸顿足,用这3招恢复

手机和电脑中的照片越来越多&#xff0c;人们在浏览照片时&#xff0c;可能会不小心删除一些重要的照片。这些照片可能是旅行中的风景照、与家人朋友的合影&#xff0c;甚至是一些具有纪念意义的照片。一旦删除&#xff0c;我们可能就无法找回这些照片了。因此&#xff0c;图库…