Python编程:计算一元二次方程(用定义类的方法实现)

2023-11-11

Python编程:计算一元二次方程

题目:

为一元二次方程ax^2+bx+c=0设计一个类名为Equation的类,这个类包括:

  • 代表3个系数的成员变量a, b, c;
  • 一个名为getDiscriminant()的方法返回判别式的值;
  • 一个名为getRoot1和getRoot2的方法返回等式的两个根,如果判别式为负,这些方法返回0。

代码:

import math

#定义一个方程类
class Equation() :
    a, b, c = 0, 0, 0       #分别给成员变量a,b,c赋初值
    def _init_(self, a, b, c) :     #传值
        self.a = a
        self.b = b
        self.c = c
    def getDiscriminant(self) :     #返回判别式的值,小于零无解,输出无解,返回False
        if self.b**2-4*self.a*self.c < 0 :
            print("此方程式没有根")
            return False
        else :
            return True
    def getRoot1(self) :        #计算第一个根,如果判别式大于等于零,计算第一个根,否则,返回0
        if self.getDiscriminant() == True :
            return (-self.b - math.sqrt( (self.b**2) - 4*self.a*self.c)) / (2*self.a)
        else :
            return 0
    def getRoot2(self) :        #计算第二个根,如果判别式大于等于零,计算第二个根,否则,返回0
        if self.getDiscriminant() == True :
            return (-self.b + math.sqrt( (self.b**2) - 4*self.a*self.c)) / (2*self.a)
        else :
            return 0

Equation_object = Equation()    #实例化一个方程类对象
Equation_object._init_(a = 1, b = -7, c = 12)       #输入成员变量a,b,c的值
print("x1 = {}\nx2 = {}".format(Equation_object.getRoot1(), Equation_object.getRoot2()))    #输出计算结果

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python编程:计算一元二次方程(用定义类的方法实现) 的相关文章

随机推荐

  • 最新gcc下载和linux环境变量设置

    最新gcc下载和linux环境变量设置 一 gcc下载 提供最新gcc下载路径 点这里跳转 http ftp gnu org gnu gcc 安装 gcc package configure prefix usr local gcc nam
  • 前端使用代理跨域后后端无法接收Session

    将一个 MVC 项目重构为一个前后端分离项目 前端使用了 react axios vite 在前后端分离项目中 通常都会使用代理来解决跨域问题 vite 需要在 vite config js 文件中配置代理 export default d
  • hive的分组和组内排序

    背景 hive的分组和组内排序 语法 语法 row number over partition by 字段a order by 计算项b desc rank rank是排序的别名 partition by 用于给结果集分组 如果没有指定那么
  • ES内存持续增长问题分析

    环境介绍 es版本 5 6 4 Xms31g Xmx31g XX MaxDirectMemorySize 10g 问题说明 用top命令观察ES使用的物理内存不断增加到54 6G 已知堆内存31G 堆外内存MaxDirectMemorySi
  • one-class(单分类) kNN(K-Nearest Neighbor)算法Matlab实现

    one class 单分类 kNN K Nearest Neighbor 算法Matlab实现 本文的核心是给出了一个基于kNN的单分类 one class 分类器实现代码 并给出了数据以及运行实例 让读者能更好地理解并使用 代码基于MAT
  • C++解决TCP粘包

    目录 TCP粘包问题 TCP客户端 TCP服务端 源码测试 TCP粘包问题 TCP是面向连接的 面向流的可靠性传输 TCP会将多个间隔较小且数据量小的数据 合并成一个大的数据块 然后进行封包发送 这样一个数据包里就可能含有多个消息的数据 面
  • Android车载开发必备知识

    Bing Android车载开发必备知识 你好 根据搜索结果 Android车载开发必备知识是指一些关于Android系统在车载环境中的应用 测试 分发和优化的技术和方法 可以帮助开发者在车载领域开发出高效 稳定 安全和用户友好的应用 以下
  • Gradle基本知识点与常用配置

    http blog csdn net u010818425 article details 52268126 查看原文 http blog csdn net u010818425 article details 52268126 本文篇幅较
  • 【C】PTA两个有序链表序列的合并

    课程 数据结构 陈越 何钦铭 本题要求实现一个函数 将两个链表表示的递增整数序列合并为一个非递减的整数序列 函数接口定义 List Merge List L1 List L2 其中List结构定义如下 typedef struct Node
  • 基于门控循环单元(GRU)的多输入多输出预测,门控循环单元(GRU)的数据回归预测。

    清空环境变量 warning off 关闭报警信息 close all 关闭开启的图窗 clear 清空变量 clc 清空命令行 导入数据 res xlsread 数据 xlsx 数据分析 num size 0 8 训练集占数据集比例 ou
  • 用CMAKE编译OpenCV 3.4.2+Opencv Contrib 3.4生成可执行包

    1 github下载OpenCV https github com opencv opencv tree 3 4 2 github下载高级扩展包 https github com opencv opencv contrib tree 3 4
  • 关于 IAR 环境的一些使用 琐记

    虽然对于IAR这个环境很不喜欢 但为了搞CC2530 不得不用 把碰到的一些点滴记录下来 1 Options gt C C Compiler gt Preprocessor gt Defined symbols one per line 的
  • 群晖NAS的公网、NAT、DDNS、证书等配置二

    一 公网IP DNSPOD域名解析 光猫桥接 路由器端口转发 DDNS解析 WebDAV实践 1 申请域名 去腾讯云申请一个域名 买个便宜的 好像是3年一百多块 腾讯云 产业智变 云启未来 2 申请公网IP 打电话给电信10000 转人工服
  • Libevent3——bufferevent上创建socket通信的服务器端、客户端的流程、及服务器端、客户端的代码实现分析⛽

    承接上文 服务器监听流程简要如下 创建监听器 有客户端连上时就是满足条件的时候 监听器的回调函数被调用 回调函数会创建新的用于通信的文件描述符fd 那么fd是需要被封装到一个bufferevent对象中 所以再创建一个bev对象对fd进行封
  • 如何修复ssh漏洞进行版本升级

    目录 一 ssh低版本漏洞信息 OpenSSH GSSAPI 处理远端代码执行漏洞 OpenSSH GSSAPI认证终止信息泄露漏洞 OpenSSH X连接会话劫持漏洞 二 升级ssh版本进行修复漏洞 第一步 安装Telnet服务 第二步
  • 轨迹数据挖掘(trajectory data mining)

    位置采集和移动计算技术的进步已经产生了大量的空间轨迹数据 这些数据代表了移动物体 如人 车辆和动物 的移动性 在过去十年中 已经提出了许多技术来处理 管理和挖掘轨迹数据 促进了广泛的应用 在本文中 我们对轨迹数据挖掘的主要研究进行了系统的调
  • 计算机键盘上删除,电脑键盘删除键是哪一个

    以win10 华为MateBook X为例 计算机键盘上 有两个具有删除功能的按键 分别是BackSpace键 退格键 和Delete键 删除键 BackSpace键只有1个 在主键盘区车键上方 有些键盘标注为 符号 在文本编辑状态 按下该
  • vue使用Teleport组件封装弹窗

    先看效果吧 使用弹窗组件文件 代码如下
  • CSDN问答

    近期AI成为热点话题 ChatGPT GPT4 new bing Bard AI 绘画 AI 编程工具引发大量讨论 请结合自身学习经历 一起来聊聊你对 AI 技术以及其今后发展的看法吧 请在下面的问题中选择一些来回答 1 你人生中第一次接触
  • Python编程:计算一元二次方程(用定义类的方法实现)

    Python编程 计算一元二次方程 题目 为一元二次方程ax 2 bx c 0设计一个类名为Equation的类 这个类包括 代表3个系数的成员变量a b c 一个名为getDiscriminant 的方法返回判别式的值 一个名为getRo