python请定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程: ax2 + bx + c = 0的两个解。
时间: 2024-04-30 07:19:52 浏览: 92
好的,以下是实现代码:
```python
def quadratic(a, b, c):
delta = b**2 - 4*a*c
if delta < 0:
return None
elif delta == 0:
return -b/(2*a), None
else:
x1 = (-b + delta**0.5)/(2*a)
x2 = (-b - delta**0.5)/(2*a)
return x1, x2
```
其中,我们首先计算出判别式 delta,然后根据 delta 的值分别处理三种情况:
- 当 delta 小于 0 时,方程无实数解,返回 None;
- 当 delta 等于 0 时,方程有唯一实数解,返回 (-b/(2*a), None);
- 当 delta 大于 0 时,方程有两个实数解,返回 (x1, x2)。
注意,这里的 None 表示该位置不返回任何值。
相关问题
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时,方程有两个实数解,返回两个解。
python请定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程 a x 2 + b x + c = 0 ax 2 +bx+c=0 的两个解
在Python中,我们可以使用复数来处理可能不存在实数根的一元二次方程。下面是一个函数`quadratic`的定义,它使用公式 `(-b ± sqrt(b^2 - 4ac)) / (2a)` 来计算解,并考虑了浮点运算和复数的情况:
```python
import cmath
def quadratic(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
else: # 判别式为负,有两对共轭复数解
real_part = -b / (2*a)
imaginary_part = cmath.sqrt(-discriminant) / (2*a)
return complex(real_part, imaginary_part), complex(real_part, -imaginary_part)
# 示例用法
solution = quadratic(1, -3, 2)
print(f"一元二次方程 {a}x^2 + {b}x + {c} 的解是 {solution}")
阅读全文