编写求解一元二次方程ax2+bx+c=0,方程的a,b,c从键盘输入python
时间: 2023-09-10 17:08:18 浏览: 182
可以使用 Python 的 math 模块来求解一元二次方程。可以按照以下代码编写程序:
```python
import math
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
delta = b**2 - 4*a*c
if delta < 0:
print("方程无实数解!")
elif delta == 0:
x = -b / (2*a)
print("方程的解为:x={}".format(x))
else:
x1 = (-b + math.sqrt(delta)) / (2*a)
x2 = (-b - math.sqrt(delta)) / (2*a)
print("方程的解为:x1={}, x2={}".format(x1, x2))
```
在程序中,我们首先从键盘输入方程的系数 a、b、c,然后计算出方程的判别式 delta。如果 delta 小于 0,则方程无实数解;如果 delta 等于 0,则方程有一个实数解;否则方程有两个实数解。最后输出方程的解。
相关问题
编写求解一元二次方程ax2+bx+c=0,方程的a,b,c从键盘输入
好的,以下是求解一元二次方程的 Python 代码:
```python
import math
a = float(input("请输入一元二次方程的 a:"))
b = float(input("请输入一元二次方程的 b:"))
c = float(input("请输入一元二次方程的 c:"))
delta = b**2 - 4*a*c
if delta > 0:
x1 = (-b + math.sqrt(delta)) / (2*a)
x2 = (-b - math.sqrt(delta)) / (2*a)
print("方程有两个实根:x1={:.2f}, x2={:.2f}".format(x1, x2))
elif delta == 0:
x = -b / (2*a)
print("方程有一个实根:x={:.2f}".format(x))
else:
print("方程无实根!")
```
输入三个系数 a、b、c 后,程序会自动计算方程的解,并输出结果。
需要注意的是,在计算平方根时,我们使用了 math 模块中的 sqrt 函数。此外,我们使用了 format 方法来格式化输出结果,保留两位小数。
编写求解一元二次方程ax方+bx+c=0的根的过程
以下是求解一元二次方程的 Python 代码:
```python
import math
def quadratic_equation(a, b, c):
"""
求解一元二次方程 ax^2 + bx + c = 0 的根
返回值为一个元组,包含两个根或一个根或 None
"""
delta = b ** 2 - 4 * a * c
if delta > 0:
x1 = (-b + math.sqrt(delta)) / (2 * a)
x2 = (-b - math.sqrt(delta)) / (2 * a)
return x1, x2
elif delta == 0:
x = -b / (2 * a)
return x,
else:
return None
# 测试
print(quadratic_equation(1, -5, 6)) # (3.0, 2.0)
print(quadratic_equation(1, -4, 4)) # (2.0,)
print(quadratic_equation(1, 2, 3)) # None
```
其中,`quadratic_equation()` 函数接受三个参数,分别是方程中 $x^2$ 的系数 $a$、$x$ 的系数 $b$ 和常数 $c$。函数先根据判别式 $\Delta = b^2 - 4ac$ 的值来判断方程的根的情况,如果 $\Delta > 0$,则有两个不相等的实数根;如果 $\Delta = 0$,则有一个实数根;如果 $\Delta < 0$,则无实数根。如果有实数根,函数返回一个元组,包含两个根或一个根;如果无实数根,则返回 None。