2.Python编写程序求一元二次方程的解,用a=3,b= -12,c= -15来验证结果,输出时要求有文字说明,结果保留1位小数,格式要直观;
时间: 2024-09-30 18:09:41 浏览: 24
你可以使用Python的数学库`cmath`来编写一个函数求解一元二次方程的解,比如著名的公式 `(-b ± sqrt(b^2 - 4ac)) / (2a)`。下面是一个示例程序:
```python
import cmath
def quadratic_solver(a, b, c):
# 计算判别式
discriminant = (b**2) - (4*a*c)
# 如果判别式大于0,有两个实根
if discriminant > 0:
root1 = (-b + cmath.sqrt(discriminant)) / (2 * a)
root2 = (-b - cmath.sqrt(discriminant)) / (2 * a)
print(f"对于方程 {a}x^2 + {b}x + {c} = 0,")
print(f"有两个实根:root1 ≈ {root1.real:.1f}, root2 ≈ {root2.real:.1f}")
# 判别式等于0,有一个实根
elif discriminant == 0:
root = -b / (2 * a)
print(f"对于方程 {a}x^2 + {b}x + {c} = 0,")
print(f"存在唯一实根:x ≈ {root.real:.1f}")
# 判别式小于0,有两个共轭复数根
else:
real_part = -b / (2 * a)
imaginary_part = cmath.sqrt(-discriminant) / (2 * a)
print(f"对于方程 {a}x^2 + {b}x + {c} = 0,")
print(f"存在两个虚根:root1 ≈ {real_part:.1f} + {imaginary_part.imag:.1f}i,")
print(f"root2 ≈ {real_part:.1f} - {imaginary_part.imag:.1f}i")
# 测试用例
quadratic_solver(3, -12, -15)
```
这个程序会根据方程的系数计算并输出解的详细情况,并将结果显示得直观易懂。注意,如果方程无实数解,程序会返回复数根。
阅读全文