用python 求一元二次方程式ax2+bx+c=0的根。a,b,c的值在运行时由键盘输入,它们的值满足b2-4*a*c>=0.
时间: 2024-11-05 12:29:55 浏览: 30
用Java编写程序,求一元二次方程ax²+bx+c=0的根(系数在程序中给定),并输出。
在Python中,你可以使用公式法来求解一元二次方程`ax^2 + bx + c = 0`的一般解。由于判别式`D = b^2 - 4ac`大于等于0,我们可以直接计算两个实数根。以下是通过函数实现这个过程的示例:
```python
import math
def calculate_roots(a, b, c):
# 计算判别式
D = b**2 - 4 * a * c
# 根据判别式的正负分别计算根
if D > 0:
root1 = (-b + math.sqrt(D)) / (2 * a)
root2 = (-b - math.sqrt(D)) / (2 * a)
return root1, root2
elif D == 0:
root = -b / (2 * a)
return root, root
else: # 复数根(判别式小于0)
real_part = -b / (2 * a)
imaginary_part = math.sqrt(-D) / (2 * a)
roots = (real_part, complex(0, imaginary_part))
return roots
# 用户输入系数
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
# 调用函数计算并打印结果
roots = calculate_roots(a, b, c)
print(f"方程的根为:{roots}")
#
阅读全文