基于python编程的一元二次方程的求解(未考虑虚数情况)

基于python编程的一元二次方程的求解

写在前面的话:
我是单纯感兴趣才开始自学python的,听的是中国大学MOOC(慕课)网的哈尔滨工业大学车万翔老师的授课《高级语言程序设计(Python)CAP》,网址分享给大家:
https://www.icourse163.org/learn/HIT1001616002tid=1003006007#/learn/announce
所以说呢我也是作为一个python的初学者,也可以称作是“小白”来写这篇博客的。希望能给需要帮助的同学朋友们一点解惑。

程序流程图:

写代码最开始就是要画一个程序流程图,保证思维的严谨也便于编程。在求解一元二次方程,我所根据的流程图如下:
程序流程图

话不多说直接上代码

 #!/usr/bin/python3
 #利用条件、循环语句实现一元二次方程的反复求解
import math
caculate = 1;
while(caculate):
    caculate = 0;
    # 输入一元二次方程三个参数值a,b,c
    a = float(input('请输入a的值 a = '));
    b = float(input('请输入b的值 b = '));
    c = float(input('请输入c的值 c = '));
    # 计算de
  • 11
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以这样写:def 二次方程(a, b, c): d = (b**2) - (4*a*c) if d < 0: print("方程无解!") elif d == 0: x = -b / (2 * a) print("方程有一个实根:", x) else: x1 = (-b + d**0.5) / (2 * a) x2 = (-b - d**0.5) / (2 * a) print("方程有两个实根:", x1, "和", x2) a = float(input("输入a: ")) b = float(input("输入b: ")) c = float(input("输入c: ")) 二次方程(a, b, c) ### 回答2: 下面是一个用Python编写的求解一元二次方程的程序: ```python import math def quadratic_equation(a, b, c): # 首先判断方程是否为一元二次方程 if a == 0: return "这不是一个二次方程!" # 计算判别式 delta = b ** 2 - 4 * a * c # 根据判别式的值进行分类讨论 if delta > 0: # 有两个不相等的实数根 x1 = (-b + math.sqrt(delta)) / (2 * a) x2 = (-b - math.sqrt(delta)) / (2 * a) return "方程的解为 x1 = {:.2f}, x2 = {:.2f}".format(x1, x2) elif delta == 0: # 有两个相等的实数根 x = -b / (2 * a) return "方程的解为 x = {:.2f}".format(x) else: # 没有实数根,存在虚数根 real_part = -b / (2 * a) imaginary_part = math.sqrt(-delta) / (2 * a) return "方程的解为 x1 = {:.2f} + {:.2f}i, x2 = {:.2f} - {:.2f}i".format(real_part, imaginary_part, real_part, imaginary_part) # 测试例子 print(quadratic_equation(1, -3, 2)) # 方程的解为 x1 = 2.00, x2 = 1.00 print(quadratic_equation(2, 2, 1)) # 方程的解为 x = -0.50 print(quadratic_equation(1, 2, 3)) # 方程的解为 x1 = -1.00 + 1.41i, x2 = -1.00 - 1.41i ``` 这个程序首先判断输入的方程是否为一元二次方程,然后根据判别式(b^2 - 4ac)的值分类讨论,从而计算出方程的解。如果判别式大于0,则方程有两个不相等的实数根;如果判别式等于0,则方程有两个相等的实数根;如果判别式小于0,则方程没有实数根,存在虚数根。最后,程序输出方程的解。 ### 回答3: 一元二次方程是形如$ax^2+bx+c = 0$的方程,其中$a\neq 0$。为了求解一元二次方程,我们可以使用求根公式: $$x = \frac{-b\pm\sqrt{b^2-4ac}}{2a}$$ 下面是使用Python编写的求解一元二次方程的程序: ```python import cmath def solve_quadratic_equation(a, b, c): # 计算判别式 discriminant = (b ** 2) - (4 * a * c) # 判断判别式的值,来确定方程的解的类型 if discriminant > 0: # 如果判别式大于零,方程有两个实根 root1 = (-b + cmath.sqrt(discriminant))/(2*a) root2 = (-b - cmath.sqrt(discriminant))/(2*a) return root1, root2 elif discriminant == 0: # 如果判别式等于零,方程有一个实根 root = -b/(2*a) return root else: # 如果判别式小于零,方程有两个复根 complex_root1 = (-b + cmath.sqrt(discriminant))/(2*a) complex_root2 = (-b - cmath.sqrt(discriminant))/(2*a) return complex_root1, complex_root2 def main(): a = float(input("请输入一次项系数a: ")) b = float(input("请输入二次项系数b: ")) c = float(input("请输入常数项系数c: ")) # 调用函数求解一元二次方程 result = solve_quadratic_equation(a, b, c) print("方程的解为:", result) # 调用主函数 main() ``` 在程序中,首先导入cmath库以支持复数的计算。然后定义一个名为 `solve_quadratic_equation` 的函数,该函数接受三个系数 a、b、c作为参数,并根据判别式的值来决定方程的解类型,返回对应的解。在 `main` 函数中,通过用户的输入获取方程的系数,将系数传递给 `solve_quadratic_equation` 函数来求解方程。最后,将求得的解输出到屏幕上。 这个程序可以求解一元二次方程的实根和复根,并根据判别式的值来区分不同的解类型。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值