Crossin的编程教室

标题: 【交作业】求解一元二次方程 [打印本页]

作者: twegale    时间: 2022-7-5 11:00
标题: 【交作业】求解一元二次方程


是免费教程当中的小作业,求解一元二次方程,尝试用面向对象的方法去写
但是对于无理数的答案,结果会报错,只能解最简单的
还没有把课程学完,等学完了去研究一下无理数怎么搞
  1. import math


  2. class equation:
  3.     def __init__(self,a,b,c):
  4.         self.a = a
  5.         self.b = b
  6.         self.c = c

  7.     def solve(self):
  8.         delta =math.sqrt(math.pow(self.b,2) - 4 * self.a * self.c)
  9.         x1 = ((0 - self.b) - delta)/2/self.a
  10.         x2 = ((0 - self.b) + delta)/2/self.a
  11.         print("这个方程式的答案是:x1=%f ,x2=%f,"%(x1,x2))


  12. a = int(input('输入a:\n'))
  13. b = int(input('输入b:\n'))
  14. c = int(input('输入c:\n'))

  15. fumulation = equation(a,b,c)#这里踩雷,一开始就要把变量给出去
  16. fumulation.solve()
复制代码

作者: crossin先生    时间: 2022-7-7 22:59
手动点赞!
作者: devil233    时间: 2022-7-29 23:33
有点意思,不过记得考虑delta的情况




欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/) Powered by Discuz! X2.5