python一元二次方程的解,简单代码实现
时间: 2024-09-28 10:03:07 浏览: 28
在Python中,可以使用math库中的函数来解决一元二次方程,即求解形如ax^2 + bx + c = 0的方程。一般我们通过公式x = [-b ± sqrt(b^2 - 4ac)] / (2a)来计算根,这里sqrt表示平方根。下面是一个简单的代码示例:
```python
import math
def solve_quadratic_equation(a, b, c):
discriminant = b**2 - 4*a*c # 计算判别式
if discriminant < 0: # 如果判别式小于0,方程无实数解
return "方程无实数解"
elif discriminant == 0: # 当判别式等于0时,有一个实数解
x = -b / (2*a)
return x
else: # 当判别式大于0时,有两个实数解
root1 = (-b + math.sqrt(discriminant)) / (2*a)
root2 = (-b - math.sqrt(discriminant)) / (2*a)
return root1, root2
# 使用示例
coefficients = [1, -5, 6] # a=1, b=-5, c=6
solution = solve_quadratic_equation(*coefficients)
print(f"解是: {solution}")
相关问题
python一元二次方程简单
在Python中,你可以使用math库来解决一元二次方程。一元二次方程的一般形式是ax^2 + bx + c = 0,其中a、b和c是常数,且a不等于0。为了求解这个方程,我们可以使用公式法,即:
x = [ -b ± sqrt(b^2 - 4ac) ] / (2a)
下面是一个简单的函数示例,它接受三个参数a、b和c,并返回两个解(如果判别式大于0,则有两个实根):
```python
import math
def solve_quadratic_equation(a, b, c):
discriminant = b ** 2 - 4 * a * c
if discriminant > 0:
root1 = (-b + math.sqrt(discriminant)) / (2 * a)
root2 = (-b - math.sqrt(discriminant)) / (2 * a)
return root1, root2
elif discriminant == 0:
root = -b / (2 * a)
return root, None # 如果判别式为0,只有一个实根
else:
return "无实数解", None # 如果判别式小于0,方程无实根
# 示例用法
coefficients = 1, 2, 1
solution = solve_quadratic_equation(*coefficients)
if solution[1] is not None:
print(f"方程 {coefficients[0]}x^2 + {coefficients[1]}x + {coefficients[2]} 的解为: {solution}")
else:
print(solution[0])
用python语言写一个一元二次方程解的代码
下面是一个简单的一元二次方程求解代码:
```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。
阅读全文