《python语言程序设计》2018版第8章19题几何Rectangle2D类(中)-同志们我要起飞了

在这里插入图片描述

前言

    • 昨天的原始绘制两个矩形的代码段draw_rec2
    • 原始draw_rec2运行结果
    • 我们不是上面往右转90.我怎么往左转90不对吗??? ☺️
    • 结果
    • 利用已建立完的Rectangle2D类来实现
    • Rectangle2D类的代码可以找上集看,今天是锻炼的一天好几个倒立体式解锁了.祝大家愉快

经过昨天晚上的努力我终于知道了如何完成该题剩余的几个点的办法.但是我还要继续解决昨天结束的时候第2个矩形偏离中心的地问题

一、矩形为什么偏离了原点

    • 昨天的原始绘制两个矩形的代码段draw_rec2
    • 原始draw_rec2运行结果
    • 我们不是上面往右转90.我怎么往左转90不对吗??? ☺️
    • 结果
    • 利用已建立完的Rectangle2D类来实现
    • Rectangle2D类的代码可以找上集看,今天是锻炼的一天好几个倒立体式解锁了.祝大家愉快

为了方便大家观看.我将之前第2个矩形的中心点颜色从黄色换成了比较明显的蓝色

昨天的原始绘制两个矩形的代码段draw_rec2

def draw_rec2(self, other_rec):x_1 = other_rec.__xy_1 = other_rec.__ywidth_r = other_rec.__widthheight_r = other_rec.__heightturtle.penup()turtle.goto(self.__x, self.__y)turtle.dot(6, "blue")turtle.goto(self.__x - self.__width / 2, self.__height / 2 + self.__y)turtle.pendown()turtle.forward(self.__width)turtle.right(90)turtle.forward(self.__height)turtle.right(90)turtle.forward(self.__width)turtle.right(90)turtle.forward(self.__height)turtle.penup()turtle.goto(x_1, y_1)turtle.dot(6, "blue")turtle.goto(x_1 - width_r / 2, height_r / 2 + y_1)turtle.pendown()turtle.forward(width_r)turtle.right(90)turtle.forward(height_r)turtle.right(90)turtle.forward(width_r)turtle.right(90)turtle.forward(height_r)turtle.hideturtle()turtle.done()

原始draw_rec2运行结果

请添加图片描述

蓝色点是第2个rec的位置.但是它发生了旋转,我之前的几章也做过绘制两个园的情况,我都解决了.但这次我不想这样的方式.我想了解一下.
我首先尝试在第一个矩形绘制结束后加入了一个left

  turtle.left(90)

在这里插入图片描述

我们不是上面往右转90.我怎么往左转90不对吗??? ☺️

真不对

我只看到了最后一次往右转了90度.但是之前呢.是不是还有2次往右转90度呢???

在这里插入图片描述

所以不是90度.应该是270

  turtle.left(270)

在这里插入图片描述

这个问题解决了其他的对比问题就应该不是很难了.

二、实现输入坐标、计算周长和面积

    • 昨天的原始绘制两个矩形的代码段draw_rec2
    • 原始draw_rec2运行结果
    • 我们不是上面往右转90.我怎么往左转90不对吗??? ☺️
    • 结果
    • 利用已建立完的Rectangle2D类来实现
    • Rectangle2D类的代码可以找上集看,今天是锻炼的一天好几个倒立体式解锁了.祝大家愉快

结果

在这里插入图片描述

利用已建立完的Rectangle2D类来实现

def main():x1,y1,width1,height1 = eval(input("Enter x1,y1,width1,height1: "))x2,y2,width2,height2 = eval(input("Enter x2,y2,width2,height2: "))r1 = Rectangle2D(x1,y1,width1,height1)r1.print_text(1)area_r1 =r1.get_area()print(f"Area for r1 is {area_r1}")perimeter_r1 =r1.get_perimeter()print(f"Perimeter for r1 is {perimeter_r1}")r2 = Rectangle2D(x2,y2,width2,height2)r2.print_text(2)area_r2 = r2.get_area()print(f"Area for r2 is {area_r2}")perimeter_r2 = r2.get_perimeter()print(f"Perimeter for r2 is {perimeter_r2}")main()

Rectangle2D类的代码可以找上集看,今天是锻炼的一天好几个倒立体式解锁了.祝大家愉快

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

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

相关文章

97. UE5 GAS RPG 实现闪电链技能(二)

书接上回,如果没有查看上一篇文章的同学推荐先看上一章,我们接着实现闪电链技能。 在上一章最后,我们实现了闪电链的第一条链,能够正确显示特效,接下来,我们先实现它的音效和一些bug修复。 我们在多端网络里…

cnn突破四(生成卷积核与固定核对比)

cnn突破三中生成四个卷积核,训练6万次,91分,再训练6万次,95分,不是很满意,但又找不到问题点,所以就想了个办法,使用三个固定核,加上三层bpnet神经网络,看看效…

双十一狂欢派对 五款市面上获得好评的好物

一年一度的双十一购物狂欢派对即将到来,这一天不仅是广大消费者的福利日,也是各大品牌展示实力的战场。随着市场的不断发展与消费者需求的多样化,双十一已经不仅仅是降价促销的代名词,更是品质与创新的竞技场。在琳琅满目的商品中…

产品经理产出的原型设计 - 需求文档应该怎么制作?

需求文档,产品经理最终产出的文档,也是产品设计最终的表述形式。本次分享呢,就是介绍如何写好一份需求文档。 所有元件均可复用,可作为管理端原型设计模板,按照实际项目需求进行功能拓展。有需要的话可分享源文件。 …

ChatGPT Canvas:交互式对话编辑器

自两年前 ChatGPT 发布以来,主流 AI 均以对话形式进行交互。传统的对话式界面可以直观看到反馈结果,但在需要深度编辑和协作的项目中就略显局限。为了解决此问题,几个月前 Claude 就发布过 Artifacts 功能,用来拓展原有对话。而现…

django华业社区电子政务管理系统-计算机毕业设计源码33448

目录 摘要 1 绪论 1.1 选题背景与意义 1.2国内外研究现状 1.3论文结构与章节安排 2系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据流程 3.3.2 业务流程 2.3 系统功能分析 2.3.1 功能性分析 2.3.2 非功能性分析 2.4 系统用例分析 2.5本章小结 3 系统总体设…

【Java】Java面试题笔试

[赠送]面试视频指导简历面试题 Java面试笔试题题库华为 java笔试面试题2014.files 就业相关java 面试题 面试题库 视频笔记 java笔试题大集合及答案 java面试书籍源码 java算法大全源码包8张图解 java.docx25个经典的Spring面试问答.docx 25个经典的Spring面试问答.docx 100家大…

【hot100-java】【删除链表的倒数第 N 个结点】

链表篇 思路: 先走一遍记录链表长度 再走到对应的点,然后删除 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode…

【LLM】OpenAI o1模型和相关技术

Note OpenAI o1 模型中推理过程的工作原理 1、o1模型引入了reasoning tokens。这些token用于"思考",帮助模型分解对提示的理解,并考虑生成回应的多种方法。2、在生成推理token后,模型会产生一个可见的完成token作为答案&#xff0…

Redis:zset类型

Redis:zset类型 zset命令ZADDZCARDZCOUNTZRANGEZREVRANGEZRANGEBYSCOREZREVRANGEBYSCOREZPOPMAXBZPOPMAXZPOPMINBZPOPMINZRANKZREVRANKZSCOREZREMZREMRANGEBYRANKZREMRANGEBYSCOREZINCRBY 集合间操作ZINRERSTOREZUNIONSTORE 内部编码ziplistskiplist 在Redis中&…

【AIGC】ChatGPT提示词Prompt助力自媒体内容创作升级

博客主页: [小ᶻZ࿆] 本文专栏: AIGC | ChatGPT 文章目录 💯前言💯高效仿写专家级文章提示词使用方法 💯CSDN博主账号分析提示词使用方法 💯自媒体爆款文案优化助手提示词使用方法 💯小结 &#x1f4af…

02基础篇:667的大题题型与应对策略

通过本节,你将学习到: 667分析题的考查方向与基本题型667分析题的两种解决策略 667分析题的三大基本题型 首先,通过回顾667科目分析题的真题(2021-2024年),我根据题目特点将其归纳为三个主要类别。这样的…

【JavaWeb】javaweb目录结构简介【转】

以上图说明: bbs目录代表一个web应用bbs目录下的html,jsp文件可以直接被浏览器访问WEB-INF目录下的资源是不能直接被浏览器访问的web.xml文件是web程序的主要配置文件所有的classes文件都放在classes目录下jar文件放在lib目录下

Linux Cent7 已安装MySQL5.7.X,再安装MYSQL8.4.2

一、 下载安装 检查Linux系统的glibc版本rpm -qa | grep glibc结果:glibc-common-2.17-260.el7_6.6.x86_64 glibc-2.17-260.el7_6.6.x86_64 glibc-headers-2.17-260.el7_6.6.x86_64 glibc-devel-2.17-260.el7_6.6.x86_64访问MySQL官网,下载对应版本数据…

华为 HCIP-Datacom H12-821 题库 (32)

🐣博客最下方微信公众号回复题库,领取题库和教学资源 🐤诚挚欢迎IT交流有兴趣的公众号回复交流群 🦘公众号会持续更新网络小知识😼 1.当一个运行 MSTP 协议的交换设备端口收到一个配置BPDU 时,会与设备保存的全局配…

CF D. Minimize the Difference

原题链接:Problem - D - Codeforces 题意:给你长度为n的数组,可以无限次的让i位置的数-1,让i1的位置的数1。问最大值-最小值的最小值是多少? 思路:可以观察出,操作的真正意义是让i位置的数减少…

数字乡村智慧乡镇整体规划设计解决方案

1. 数字乡村的重要性 数字乡镇作为乡村振兴战略的一部分,通过信息化手段提高农业农村现代化水平,是建设数字中国的重要内容,对保障扶贫成果、促进乡村治理体系和治理能力现代化具有基础支撑作用。 2. 乡镇政府和农户面临的问题 乡镇政府和…

Linux 之 安装软件、GCC编译器、Linux 操作系统基础

安装软件、GCC编译器、Linux 操作系统基础 学习任务: 安装 Vmware虚拟机、掌握Ubuntu 系统的使用认识 Ubuntu 操作系统的终端和 Shell掌握软件安装、文件系统、掌握磁盘管理与解压缩掌握 VIM 编辑器、Makefile 基本语法熟悉 Linux 常见指令操作 安装好开发软件&…

电源管理芯片PMIC

一、简介 电源管理芯片(Power Management Integrated Circuits,简称PMIC)是一种集成电路,它的主要功能是在电子设备系统中对电能进行管理和控制,包括但不限于以下几点: 电压转换:将电源电压转换…

IndexTree、AC自动机

一、引言。 IndexTree和线段树有一些联系,这里我们再重新解释一下线段树用来解决什么样的一个问题,线段树解决的是一个区间查询和区间更新的一个问题,比如说我有一个数组在 L....R 上统一加上V,或者在L.....R上,统一所…