使用python:对参数a、b和c任意赋值(a≠0) ,使用if...else 条件语句编写代码,求解一元二 _次方程ax2+bx+c=0(a≠0)。
时间: 2024-12-16 21:31:46 浏览: 15
GE8151 PROBLEM SOLVING AND PYTHON ... GE8151问题解决和Python.doc
在Python中,你可以通过使用`if...elif...else`条件语句和数学库`cmath`(为了处理复数解)来解决这个问题。首先,我们需要判断判别式`b**2 - 4*a*c`是否大于0,等于0,还是小于0,这将决定我们得到两个实根,一个实根和一个复数根,或者是两个复数根。以下是相应的代码示例:
```python
import cmath
def solve_quadratic_equation(a, b, c):
discriminant = b**2 - 4*a*c
if a == 0:
print("错误!一元二次方程中系数a不能为0")
else:
if discriminant > 0:
root1 = (-b + cmath.sqrt(discriminant)) / (2 * a)
root2 = (-b - cmath.sqrt(discriminant)) / (2 * a)
return f"有两个实根:{root1} 和 {root2}"
elif discriminant == 0:
root = -b / (2 * a)
return f"有一个实根:{root}"
else: # 当判别式小于0,有复数根
real_part = -b / (2 * a)
imaginary_part = cmath.sqrt(-discriminant) / (2 * a)
return f"有两个共轭复数根:{real_part} + {imaginary_part}i 和 {real_part} - {imaginary_part}i"
# 对于给定的a、b和c值测试上述函数
# 参数a、b和c在这里可以替换为你想计算的具体数值
a = 1
b = 2
c = -1
solution = solve_quadratic_equation(a, b, c)
print(solution)
#
阅读全文