您当前的位置: 首页 >  Python

Xavier Jiezou

暂无认证

  • 3浏览

    0关注

    394博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Python】编程练习:一元二次方程求根

Xavier Jiezou 发布时间:2021-11-03 20:47:43 ,浏览量:3

文章目录
  • 题目描述
  • 输入格式
  • 输出格式
  • 测试样例
    • 样例1
      • 输入
      • 输出
    • 样例2
      • 输入
      • 输出
    • 样例3
      • 输入
      • 输出
  • 参考代码

题目描述

一元二次方程 a x 2 + b x + c = 0 ax^2+bx+c=0 ax2+bx+c=0,a、b、c 的值由用户在三行中输入,根据用户输入的数值求解方程的实数解:

  • 如果 a 值为0,根据 b 值判断方程是否有解并输出(若有解,输出保留两位小数),如果 a 与 b 同时为 0,则输出 Date error!
  • 如果方程无实数解,输出“该方程无实数解”;
  • 如果方程有两个相同的实数解,输出一个解,结果保留 2 位小数;
  • 如果方程有两个不同的实数解,在一行内按从小到大顺序输出方程的两个解,用空格分隔,结果保留 2 位小数。
输入格式

输入三行数据,每行输入一个实数。

输出格式

方程的解。

测试样例 样例1 输入
8
5
2
输出
该方程无实数解
样例2 输入
0
0
9
输出
Data error!
样例3 输入
3
6
2
输出
-0.42 -1.58
参考代码
class Solution:
    def __init__(self):
        self.a = eval(input())
        self.b = eval(input())
        self.c = eval(input())

    def __main__(self) -> str:
        d = self.b**2-4*self.a*self.c
        if self.a == 0 and self.b == 0:
            return 'Data error!'
        elif self.a == 0 and self.b != 0:
            return f'{-self.c/self.b:.2f}'
        else:
            if d > 0:
                x1 = (-self.b+d**0.5)/(2*self.a)
                x2 = (-self.b-d**0.5)/(2*self.a)
                x1, x2 = (x2, x1) if x1             
关注
打赏
1661408149
查看更多评论
0.0483s