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

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.mzph.cn/pingmian/42121.shtml

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

相关文章

《QT从基础到进阶·四十三》QPlugin插件多线程问题和只有插件dll没有头文件和lib文件时调用插件中的方法

1、插件和多线程问题: 创建插件对象不能放到多线程执行,不然报错:ASSERT failure in QWidget: "Widgets must be created in the GUlthread. //不能放在多线程执行 QPluginLoader pluginLoader(pluginsDir.absoluteFilePath(fileName))…

pandas中 groupby分组详解 1

引言 在一个使用 pandas 做数据分析的项目过程中,再次深刻理解了一下 pandas 中使用 groupby 进行分组的一些细节问题,以及对想要做的操作如何实现,在此记录; 问题 1:groupby 分组查看分组结果,以及重设分…

直播预告|飞思实验室暑期公益培训7月10日正式开启,报名从速!

01 培训背景 很荣幸地向大家宣布:卓翼飞思实验室将于7月10日正式开启为期两个月的暑期公益培训!本次培训为线上直播,由中南大学计算机学院特聘副教授,RflySim平台总研发负责人戴训华副教授主讲。 培训将基于“RflySim—智能无人…

编程上下文Context及其实现原理

编程上下文Context及其实现原理 author:shengfq date:2024-07-06 title:编程上下文Context及其实现原理 category:编程思想1.编程中的上下文Context是指什么? 在编程和软件工程领域,“上下文”(Context)是一个多义词,其含义可以…

1.Python学习笔记

一、环境配置 1.Python解释器 把程序员用编程语言编写的程序,翻译成计算机可以执行的机器语言 安装: 双击Python3.7.0-选择自定义安装【Customize installation】-勾选配置环境变量 如果没有勾选配置环境变量,输入python就会提示找不到命令…

Idea新增Module报错:sdk ‘1.8‘ type ‘JavaSDK‘ is not registered in ProjectJdkTable

文章目录 一,创建Module报错二,原因分析三,解决方案1,点击上图的加号,把JDK8添加进来即可2,点击左侧[Project],直接设置SDK为JDK8 四,配置检查与验证 一,创建Module报错 …

创维汽车开展年中总结会:创新创造·勇开拓 智慧经营·攀高峰

2024年7月3日,回顾上半年的工作成果,总结经验教训,明确下半年的发展方向和重点任务,创维汽车于山西省晋中市榆次区山西联合创维体验中心开展年中总结会。 创维集团、创维汽车创始人黄宏生;开沃集团联合创始人、首席执…

【C++干货基地】C++模板深度解析:进阶技巧与高级特性掌握(按需实例化、全特化与偏特化)文末送书

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 引入 哈喽各位铁汁们好啊,我是博主鸽芷咕《C干货基地》是由我的襄阳家乡零食基地有感而发,不知道各位的…

动态路由--RIP配置(思科cisco)

一、简介 RIP协议(Routing Information Protocol,路由信息协议)是一种基于距离矢量的动态路由选择协议。 在RIP协议中,如果路由器A和网络B直接相连,那么路由器A到网络B的距离被定义为1跳。若从路由器A出发到达网络B需要…

Vben:表格的表头和表格的内容对不齐,以及解决方法

文章目录 一、问题描述二、解决方法 一、问题描述 基于Vue-Vbne-admin框架进行前端开发的时候,调用表格useTable函数实现表格之后,发现表格的表头和表格的内容对不齐。如下图所示。针对这种情况,本文记录了解决方法。 调用的模块如下&#x…

带你一步步搭建Web自动化测试框架

测试框架的设计有两种思路,一种是自底向上,从脚本逐步演变完善成框架,这种适合新手了解框架的演变过程。另一种则是自顶向下,直接设计框架结构和选取各种问题的解决方案,这种适合有较多框架事件经验的人。本章和下一张…

优化LabVIEW代码以提高软件性能

优化LabVIEW代码对于提高软件性能、减少执行时间和资源消耗至关重要。以下是一些具体的策略和方法,可以帮助LabVIEW程序员优化代码: 1. 代码结构和模块化 使用子VI:将重复使用的代码段封装成子VI,提高代码的可读性和可维护性。 避…

使用Vue CLI方式创建Vue3.0应用程序

Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统。新版本的 Vue CLI 的包名由原来的 vue-cli 改成了 vue/cli。 在开发大型项目时,需要考虑项目的组织结构、项目构建和部署等问题。如果手动完成这些配置工作,工作效率会非常低。为此,Vue.…

刷题之买股票的最佳时机(leetcode)

买股票的最佳时机 动态规划入门题。 最简单的模拟式解法&#xff1a; class Solution { public:int maxProfit(vector<int>& prices) {//也可以换一种思路&#xff0c;因为只交易一次&#xff0c;那么找出股票最便宜的时候买入&#xff0c;最贵的时候卖出&#xff…

c与c++的内存管理

给出内存四个分区名字&#xff1a;栈区、堆区、全局区&#xff08;俗话也叫静态变量区&#xff09;、代码区&#xff08;也叫代码段&#xff09;&#xff08;代码段又分很多种&#xff0c;比如常量区&#xff09; 当然也会看到别的定义如&#xff1a; 两者都正确&#xff0c;记…

职升网:中级统计师是否属于中级职称?

中级统计师确实属于中级职称。 在统计专业人员的职称体系中&#xff0c;中级统计师占据了重要的位置&#xff0c;它属于中级职称范畴。这个职称体系包括初级、中级、高级和正高级四个层次&#xff0c;每个层次都对应着不同的专业技术岗位等级。初级职称只设助理级&#xff0c;…

【大数据】—FIFA世界杯探索性分析(EDA)

引言 足球&#xff0c;作为全球最受欢迎的运动之一&#xff0c;拥有庞大的粉丝群体和深远的文化影响。自1930年首届FIFA世界杯举办以来&#xff0c;这项赛事已经成为全球体育盛事&#xff0c;吸引了数十亿观众的目光。世界杯不仅是各国足球技艺的较量&#xff0c;更是国家荣誉…

View->裁剪框View的绘制,手势处理

XML文件 <?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android…

texStudio使用(小白)

原先使用overleaf在线编译&#xff0c;可能eps格式的图片太大导致需要充钱&#xff0c;所以考虑本地安装 安装教程参考B站视频&#xff1a;B站Latex本地编译器安装&#xff1a;TexLive TextStudio 踩到坑&#xff1a; 1. 编译器位置要选择对 因为BibTex选成了Biber导致出现无…

vb.netcad二开自学笔记1:万里长征第一步Hello CAD!

已入门的朋友请绕行&#xff01; 今天开启自学vb.net 开发autocad&#xff0c;网上相关资料太少了、太老了。花钱买课吧&#xff0c;穷&#xff01;又舍不得&#xff0c;咬牙从小白开始摸索自学吧&#xff0c;虽然注定是踏上了一条艰苦之路&#xff0c;顺便作个自学笔记备忘!积…