【问题描述】一元二次方程:ax2+bx+c=0 (a ╪ 0) 【输入形式】输入a、b和c的值(有理数) 【输出形式】输出x的两个值,或者No(即没有有理数的解) 【样例输入】1 2.5 3 【样例输出】No 用python编写代码
时间: 2024-09-28 17:03:35 浏览: 28
要编写一个Python函数来解决这个问题,我们可以利用公式法计算一元二次方程的根,如果判别式(b^2 - 4ac)小于零,则说明没有实数解。以下是相应的代码:
```python
import math
def solve_quadratic_equation(a, b, c):
discriminant = b**2 - 4*a*c
# 判别式大于等于0时寻找有两个实数解
if discriminant >= 0:
x1 = (-b + math.sqrt(discriminant)) / (2 * a)
x2 = (-b - math.sqrt(discriminant)) / (2 * a)
return (x1, x2)
else:
# 没有实数解
return "No"
# 示例输入
a, b, c = 1, 2.5, 3
result = solve_quadratic_equation(a, b, c)
if isinstance(result, str): # 如果结果是字符串"NO"
print(result)
else:
print(f"x1={result[0]}, x2={result[1]}")
```
运行此代码,如果你输入1 2.5 3,它将返回"No",因为判别式小于零。
相关问题
输入一元二次方程的三个系数a,b,c,求方程ax²+bx+c=0的根
一元二次方程的一般形式为ax²+bx+c=0,其中a、b、c为已知系数,x为未知数。
求解一元二次方程的根需要用到求根公式:
x = (-b ± √(b²-4ac)) / 2a
当b²-4ac>0时,方程有两个不相等的实数根;
当b²-4ac=0时,方程有两个相等的实数根;
当b²-4ac<0时,方程有两个共轭复数根。
因此,可以根据这个公式来求解ax²+bx+c=0的根。
阅读全文