《python语言程序设计》2018版第8章18题几何circle2D类(下部)

news2024/11/17 15:48:35

请添加图片描述

前言、从9.20激动发言到现在一直没有克制住的心情中,回到编程

  • 比如删掉我设计的导入第二个园的x,y,radius的函数
  • 我做了之前设计的变化.
  • 建立了两个可以将x,y拿出来的函数out
  • 计算两个坐标之间的距离
  • 利用已知的两个坐标之间的距离来比对第1个园里的半径,看第2个园的坐标是否在第一个园中
  • main代码的内容

把情绪从不停的幻想演讲,感觉中拉回来

又一次开始初始化.
第8章第4程序Rational给了我灵感,我可以设计一个添加second valid的

def __add__(self,second_contains):

来完成我的想法

第一章、精简中部里的代码

  • 比如删掉我设计的导入第二个园的x,y,radius的函数
  • 我做了之前设计的变化.
  • 建立了两个可以将x,y拿出来的函数out
  • 计算两个坐标之间的距离
  • 利用已知的两个坐标之间的距离来比对第1个园里的半径,看第2个园的坐标是否在第一个园中
  • main代码的内容

比如删掉我设计的导入第二个园的x,y,radius的函数

def set_have_two(self, x2, y2, radius2):
        self.__x2 = x2
        self.__y2 = y2
        self.__radius2 = radius2

直接将第2个园的坐标长度带入到第一个里面.
但是问题是,如何在初始化没有第2个园的信息中
完成诸如两个点之间距离的计算
对比我似乎有点把握了.参考了书中8.4Rational代码
但是计算我还没有把握.

第二章、将对象带入到另一个类中

  • 比如删掉我设计的导入第二个园的x,y,radius的函数
  • 我做了之前设计的变化.
  • 建立了两个可以将x,y拿出来的函数out
  • 计算两个坐标之间的距离
  • 利用已知的两个坐标之间的距离来比对第1个园里的半径,看第2个园的坐标是否在第一个园中
  • main代码的内容

今天检查完毕,接下来要迎接11月的ISO检查
另外10月份要瑜伽演出.我还帮别的老师带到汇演中,希望领导多给这些老师展示的机会.

我做了之前设计的变化.


class Circle2D:
    # 初始化
    def __init__(self, x, y, radius):
        self.__x1 = x
        self.__y1 = y
        self.__radius = radius

        # 针对获得第一个园的面积

    def get_area(self):
        return pow(self.__radius, 2) * math.pi

        # 针对第一个园的周长

    def get_perimeter(self):
        return 2 * math.pi * self.__radius

    def set_radius(self, radius):
        self.__radius = radius

    def print_radius(self):

    # 比对两个点之间的距离

    def have_between(self, other_x, other_y):
        a_t_valid = other_x - self.__x1
        b_t_valid = other_y - self.__y1
        return (pow(a_t_valid, 2) + pow(b_t_valid, 2)) * 0.05

        # 比对第2点是否在圆的里面

    def contains_points(self):
        return self.__radius.__lt__(Circle2D.have_between)
        # 比对第2个园是否在第1个园里

    def contain(self, other_radius):
        circle1 = self.__radius
        circle2 = other_radius
        if circle2 < circle1 and Circle2D.contains_points(self) is True:
            print("c1 contains the c2?, True.")
        else:
            print("c1 contains the c2?, False.")

结果失败的其中一个截图

请添加图片描述

第三章、我做到了可以将另一个园的信息导入到此园的信息中

  • 比如删掉我设计的导入第二个园的x,y,radius的函数
  • 我做了之前设计的变化.
  • 建立了两个可以将x,y拿出来的函数out
  • 计算两个坐标之间的距离
  • 利用已知的两个坐标之间的距离来比对第1个园里的半径,看第2个园的坐标是否在第一个园中
  • main代码的内容

建立了两个可以将x,y拿出来的函数out


    def out_x(self):
        return self.__x

    def out_y(self):
        return self.__y

计算两个坐标之间的距离

    def have_between(self, other_x, other_y):
        a_t_valid = other_x - self.__x
        b_t_valid = other_y - self.__y
        return (pow(a_t_valid, 2) + pow(b_t_valid, 2)) * 0.05

利用已知的两个坐标之间的距离来比对第1个园里的半径,看第2个园的坐标是否在第一个园中

    def contains_points(self,other):
        one_date=  self.__radius.__lt__(other)
        if one_date is True:
            print("The 2 Circle is in 1 Circle")
        else:
            print("The 2 Circle is not in 1 Circle")

main代码的内容

b = Circle2D(10, 10, 50)
a = Circle2D(5, 5, 20)
b.print_condition()
b.get_x(100)
b.get_y(10340)
b.print_condition()
between_date = b.have_between(a.out_x(), a.out_y())
b.contains_points(between_date)

请添加图片描述

第四章、结束语

  • 比如删掉我设计的导入第二个园的x,y,radius的函数
  • 我做了之前设计的变化.
  • 建立了两个可以将x,y拿出来的函数out
  • 计算两个坐标之间的距离
  • 利用已知的两个坐标之间的距离来比对第1个园里的半径,看第2个园的坐标是否在第一个园中
  • main代码的内容

我没有想到我能这么简单的解决这个问题.

out函数确实带来了我新的算法和想法.
期待下一个作品.但十一结束后,学院将会有大量的演出.我还要帮助更多老师做宣传.加油吧

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

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

相关文章

Linux文本内容管理命令_2

find&#xff1a;-查找命令执行文件 which 命令 whereis 命令 type 命令----查看命令类型 alias &#xff08;命令别名&#xff09; cat 查看文件--更新文件时间&#xff0c;再次cat&#xff0c;时间不会改变 touch--会更新所有属性的时间&#xff0c;文件诞生时间不会改变 …

求n的阶乘的相反数(c语言)

1./请编写函数fun&#xff0c;其功能是:计算并输出下列多项式的值: // s11/1!1/2!1/3!1/4!1/5!1/6!1/7!...1/n! //例如&#xff0c;在主函数中从键盘给n输入15&#xff0c;则输出为:s 2.718282。 //注意:要求n的值大于1但不大于100。 2.我们先输入数字n,然后先讲n!的阶乘计算…

NMOS的原理

NMOS&#xff08;N型金属氧化物半导体场效应晶体管&#xff09;是常见的场效应晶体管&#xff08;FET&#xff09;的一种&#xff0c;其主要电极包括D极&#xff08;Drain&#xff09;、S极&#xff08;Source&#xff09;和G极&#xff08;Gate&#xff09;&#xff0c;每个电…

JavaSE——lombok、juint单元测试、断言

一、lombok的使用 默认jvm不解析第三方注解&#xff0c;需要手动开启 链式调用 二、juint单元测试 下载juint包 public class TestDemo {// 在每一个单元测试方法执行之前执行Beforepublic void before() {// 例如可以在before部分创建IO流System.out.println("befor…

【数据结构】栈和队列(Stack Queue)

引言 在对顺序表&#xff0c;链表有了充分的理解之后&#xff0c;现在让我们学习栈和队列&#xff01;&#xff01;&#xff01; 【链表】 &#x1f448;链表 【顺序表】&#x1f448;顺序表 目录 &#x1f4af;栈 1.栈的概念及结构 2.栈的实现 ⭐初始化栈 ⭐入栈 ⭐…

【C++】入门基础知识-1

&#x1f36c;个人主页&#xff1a;Yanni.— &#x1f308;数据结构&#xff1a;Data Structure.​​​​​​ &#x1f382;C语言笔记&#xff1a;C Language Notes &#x1f3c0;OJ题分享&#xff1a; Topic Sharing 目录 前言&#xff1a; C关键字 命名空间 命名空间介…

【论文翻译】AFLGuard: Byzantine-robust Asynchronous Federated Learning

提示&#xff1a;该论文标题为AFLGuard: Byzantine-robust Asynchronous Federated Learning&#xff0c;我将对其进行部分翻译&#xff0c;便于后续阅读。 文章目录 AFLGuard&#xff1a;拜占庭鲁棒的异步联邦学习一、摘要二、引言三、知识前提拜占庭鲁棒联邦学习 四、问题表述…

JVM(HotSpot):程序计数器(Program Counter Register)

文章目录 一、内存结构图二、案例解读三、工作流程四、特点 一、内存结构图 二、案例解读 我们使用javap对字节码进行反编译&#xff0c;来看下程序计数器怎么体现的。 IDEA写一个简单的Java代码 反编译命令 javap -verbose InitTest.class $ javap -verbose InitTest.clas…

解决Typora图片复制到CSDN无法查看问题

下载安装picgo 山东大学镜像源&#xff1a;https://mirrors.sdu.edu.cn/github-release/Molunerfinn_PicGo 开通阿里云对象存储oss 选择创建 填入内容 购买资源包 创建AccessKey 配置PicGo 设定bucket填入创建bucket名称 注意&#xff1a;设定存储区域只需要填写到区域前缀即…

变电站设备检测系统源码分享

变电站设备检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer V…

C++ 继承:打破代码冗余,提升开发效率

目录 继承的概念和定义 继承的概念 继承的定义 定义格式 继承关系和访问限定符 继承基类成员访问方式的变化 基类和派生类对象赋值转换 继承中的作用域 派生类的默认成员函数 构造函数 拷贝构造 赋值运算符重载 析构函数 继承与友元 继承与静态成员 菱形继承与…

数据库——sql语言学习 查找语句

一、什么是sql SQL是结构化查询语言&#xff08;Structured Query Language&#xff09;的缩写&#xff0c;它是一种专门为数据库设计的操作命令集&#xff0c;用于管理关系数据库管理系统&#xff08;RDBMS&#xff09;。 二、查找相关语句 ‌‌首先&#xff0c;我们已经设…

【SQL】筛选字符串与正则表达式

目录 语法 需求 示例 分析 代码 语法 SELECT column1, column2, ... FROM table_name WHERE condition; WHERE 子句用于指定过滤条件&#xff0c;以限制从数据库表中检索的数据。当你执行一个查询时&#xff0c;WHERE 子句允许你筛选出满足特定条件的记录。如果记录满…

计算计的风向标大转!计算机专业的新纪元已至!

亲爱的读者们&#xff0c; 在这个科技日新月异的时代&#xff0c;计算机专业正以前所未有的速度引领着行业的变革。从传统编程到人工智能、大数据、云计算等新兴技术的崛起&#xff0c;计算机专业的学习与发展路径正经历着翻天覆地的变化。今天&#xff0c;让我们一同探索这个…

短信视频评论dy版提取,免COOKIE 手机版本介绍说明

抖音系统手机版功能介绍说明 一&#xff1a;描述 根据需要升级了手机版本&#xff0c;手机版本和软件版本的功能一样。并且手机版本增加了评论地区筛选功能。&#xff08;后期&#xff1a;1支持自动留痕&#xff0c;自动私信功能。2 支持详细信息和评论提取的tel筛选。3支持A…

15、网络安全合规由来与要素

数据来源&#xff1a;1.网络安全合规由来与要素_哔哩哔哩_bilibili 合规由来 合规&#xff08;Compliance&#xff09;&#xff1a;指服从、顺从和遵从的行为&#xff0c;强调使公司的经营活动与法律、监管及内部规则保持一致。合规涉及公司适应法律法规及社会规范等规则的经营…

CentOS Stream 9部署Redis

1、安装Redis sudo dnf install redis 2、启动Redis服务 sudo systemctl start redis 3、设置Redis开机自启 sudo systemctl enable redis 4、打开Redis配置文件&#xff1a; sudo vi /etc/redis/redis.conf 在配置文件中找到并修改以下两行&#xff0c;确保密码验证功能已启…

Jenkins本地安装配置与远程访问管理本地服务详细流程

文章目录 前言1. 安装Jenkins2. 局域网访问Jenkins3. 安装 cpolar内网穿透软件4. 配置Jenkins公网访问地址5. 公网远程访问Jenkins6. 固定公网地址 前言 本文主要介绍如何在Linux CentOS 7中安装Jenkins并结合cpolar内网穿透工具实现远程访问管理本地部署的Jenkins服务. Jenk…

1小时极限速通MC局域网联机:PCL2 + Zerotier局域网联机方案

目录 前言 你需要在开始之前做什么&#xff1f; 你需要什么 你需要下载什么 谁&#xff0c;需要做什么&#xff1f; STEP I&#xff1a;创建/加入一个子网 创建一个子网&#xff08;子网的维护者做&#xff09; 加入一个子网&#xff08;其他人做&#xff09; 现在... …

【在Linux世界中追寻伟大的One Piece】进程间通信

目录 1 -> 进程间通信介绍 1.1 -> 进程间通信目的 1.2 -> 进程间通信发展 1.3 -> 进程间通信分类 1.3.1 -> 管道 1.3.2 -> System V IPC 1.3.3 -> POSIX IPC 2 -> 管道 2.1 -> 什么是管道 2.2 -> 匿名管道 2.3 -> 实例代码 2.4 -…