用python语言写一个一元二次方程解的代码
时间: 2023-05-29 11:07:18 浏览: 160
下面是一个简单的一元二次方程求解代码:
```python
import math
def quadratic_equation(a, b, c):
delta = b ** 2 - 4 * a * c
if delta < 0:
return None
elif delta == 0:
x = -b / (2 * a)
return x
else:
x1 = (-b + math.sqrt(delta)) / (2 * a)
x2 = (-b - math.sqrt(delta)) / (2 * a)
return x1, x2
# 测试
print(quadratic_equation(1, -4, 4)) # -2.0
print(quadratic_equation(1, 2, 1)) # -1.0
print(quadratic_equation(1, 1, 1)) # None
```
其中,quadratic_equation函数接受三个参数a、b、c,分别代表一元二次方程的系数,返回方程的根。如果方程无解,则返回None。
相关问题
用python写一个一元二次方程解代码
以下是用Python编写的一元二次方程求解代码:
```python
import math
def quadratic(a, b, c):
"""
求解一元二次方程 ax^2 + bx + c = 0 的根
"""
delta = b * b - 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
# 测试代码
print(quadratic(1, -2, 1)) # (1.0,)
print(quadratic(1, 2, 1)) # (-1.0,)
print(quadratic(1, 3, 2)) # (-1.0, -2.0)
print(quadratic(1, 2, 3)) # None
```
在此代码中,我们定义了一个名为`quadratic`的函数,该函数接受三个参数:`a`,`b`和`c`,这些参数分别代表一元二次方程的系数。然后,我们计算方程的判别式`delta`,并检查其值。如果`delta`小于0,则方程没有实根,我们返回`None`;如果`delta`等于0,则方程有一个实根,我们返回该根;否则,方程有两个实根,我们返回这两个根。
最后,我们使用`print`函数测试了这个函数,并打印出了它的返回值。
用Python写一个一元二次方程
当然可以,用Python编写一个求解一元二次方程(一般形式为ax^2 + bx + c = 0)的小程序,我们可以使用math模块里的公式:
```python
import math
def solve_quadratic_equation(a, b, c):
# 计算判别式
discriminant = b**2 - 4*a*c
if discriminant < 0:
print("This equation has no real solutions.")
elif discriminant == 0:
x = -b / (2 * a)
print(f"The equation has one solution: {x}")
else:
x1 = (-b + math.sqrt(discriminant)) / (2 * a)
x2 = (-b - math.sqrt(discriminant)) / (2 * a)
print(f"The equation has two solutions: {x1} and {x2}")
# 示例:解决方程3x^2 + 5x - 2 = 0
a = 3
b = 5
c = -2
solve_quadratic_equation(a, b, c)
```
在这个程序中,用户可以输入不同的系数a、b和c,然后它会计算并输出相应的一元二次方程的根。
阅读全文