|
发表于 2023-4-14 12:38:43
|
显示全部楼层
本楼为最佳答案
要使用Python求解一元二次方程,我们可以使用以下代码。这里我们使用cmath库来处理复数根的情况。
- import cmath
- def solve_quadratic(a, b, c):
- if a == 0:
- if b == 0:
- return "无解" if c != 0 else "有无数个解"
- else:
- return f"线性方程的解为: {-c/b}"
- else:
- delta = b ** 2 - 4 * a * c
- if delta > 0:
- x1 = (-b + cmath.sqrt(delta)) / (2 * a)
- x2 = (-b - cmath.sqrt(delta)) / (2 * a)
- return f"实数解: x1 = {x1}, x2 = {x2}"
- elif delta == 0:
- x = -b / (2 * a)
- return f"重根: x = {x}"
- else:
- x1 = (-b + cmath.sqrt(delta)) / (2 * a)
- x2 = (-b - cmath.sqrt(delta)) / (2 * a)
- return f"复数解: x1 = {x1}, x2 = {x2}"
- # 示例
- a, b, c = 1, -3, 2
- result = solve_quadratic(a, b, c)
- print(result)
复制代码
这段代码首先检查a是否为0,以确定方程是否为一元二次方程。如果a为0,代码将检查b的值,以确定方程是否具有解。之后,代码计算判别式(delta)的值,并根据其符号确定解的类型(实数解、重根或复数解)。最后,代码使用公式求解方程并输出解。 |
|