用python编写程序,从键盘输入a、b、c的值,计算一元二次方程ax^2+bx+c=0的根,根据b^2-4ac的值大于0、等于0及小于0分别进行讨论。
时间: 2023-05-19 17:03:02 浏览: 102
好的,这是一个关于计算一元二次方程根的问题。以下是Python代码:
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
delta = b**2 - 4*a*c
if delta > 0:
x1 = (-b + delta**0.5) / (2*a)
x2 = (-b - delta**0.5) / (2*a)
print("方程有两个不相等的实根:x1 = %.2f, x2 = %.2f" % (x1, x2))
elif delta == 0:
x = -b / (2*a)
print("方程有一个实根:x = %.2f" % x)
else:
print("方程无实根")
希望这个代码可以帮到你!
相关问题
对于一元二次方程ax2+bx+c=0,输入其三个系数 a 、 b 、 c ,输出方程的根,python
在Python中,你可以使用数学库`math`或者直接通过公式计算一元二次方程的根,如果a不为零,则方程的解可以用下面的公式来表示:
\[ x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} \]
这是一个名为“求根公式”(Quadratic Formula)。如果你需要编写一个函数来计算这个方程的两个根,你可以这样做:
```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, None # 返回单实数根或None表示有两个相等的实数根
else: # 当判别式小于0时,有复数根
real_part = -b / (2*a)
imaginary_part = cmath.sqrt(-discriminant) / (2*a)
return real_part, imaginary_part
# 示例
coefficients = float(input("请输入a, b, c的值(以逗号分隔): "))
a, b, c = map(float, coefficients.split(','))
solution = solve_quadratic_equation(a, b, c)
print(f"方程的根为: {solution}")
```
在这个函数中,我们首先检查判别式是否大于0、等于0或小于0,然后分别计算实数根(如果有)、两个相等的实数根,或者是复数根。
python请定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程ax^2+bx+c=0的两个解。
好的,以下是定义一元二次方程求解函数quadratic(a, b, c)的Python代码:
```python
import math
def quadratic(a, b, c):
delta = b ** 2 - 4 * a * c
if delta < 0:
return None
elif delta == 0:
return -b / (2 * a)
else:
x1 = (-b + math.sqrt(delta)) / (2 * a)
x2 = (-b - math.sqrt(delta)) / (2 * a)
return x1, x2
```
使用math模块中的sqrt函数计算平方根,当delta小于0时,方程无实数解,返回None;当delta等于0时,方程有一个实数解,返回该解;当delta大于0时,方程有两个实数解,返回两个解。
阅读全文
相关推荐













