定义函数quadratic(a, b, c),接收3个参数,输出一元二次方程 ax2+bx+c=0的两个根(保留4位小数,较小值在前,较大值在后,之间用空格分开。无实数根时输出None)。在main()函数中输入三个系数并转换类型,再调用quadratic(a, b, c)函数,输出结果
时间: 2023-05-28 08:05:39 浏览: 127
def quadratic(a, b, c):
delta = b**2 - 4*a*c
if delta < 0:
return None
else:
x1 = (-b + delta**0.5) / (2*a)
x2 = (-b - delta**0.5) / (2*a)
return '{:.4f} {:.4f}'.format(min(x1, x2), max(x1, x2))
def main():
a = float(input())
b = float(input())
c = float(input())
print(quadratic(a, b, c))
if __name__ == '__main__':
main()
相关问题
python定义函数quadratic(a, b, c),接收3个参数,输出一元二次方程 ax2+bx+c=0的两个根(保留4位小数,较小值在前,较大值在后,之间用空格分开。无实数根时输出None)。在main()函数中输入三个系数并转换类型,再调用quadratic(a, b, c)函数,输出结果。
好的,这是一个非常基本的数学问题,下面是实现quadratic函数的Python代码:
```python
import math
def quadratic(a, b, c):
delta = b**2 - 4*a*c
if delta < 0:
return None
elif delta == 0:
x = -b / (2*a)
return round(x, 4), round(x, 4)
else:
x1 = (-b + math.sqrt(delta)) / (2*a)
x2 = (-b - math.sqrt(delta)) / (2*a)
return round(min(x1, x2), 4), round(max(x1, x2), 4)
def main():
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
result = quadratic(a, b, c)
if result is None:
print("无实数根")
else:
print("方程的两个根为:", result[0], result[1])
if __name__ == '__main__':
main()
```
你可以将上述代码复制到你的Python编辑器中,保存为一个.py文件,然后运行它,按照提示输入三个系数,就可以得到该一元二次方程的两个根了。
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}")
阅读全文