判断一元二次方程实数根个数python代码
时间: 2024-02-06 16:03:30 浏览: 26
可以使用判别式法来判断一元二次方程的实数根个数。判别式为 $b^2-4ac$,其中 $a,b,c$ 分别为一元二次方程的系数。如果判别式大于零,则方程有两个不相等的实数根;如果判别式等于零,则方程有一个实数根;如果判别式小于零,则方程没有实数根。
以下是一个简单的 Python 函数,可以根据输入的系数判断一元二次方程的实数根个数:
```python
def judge_quadratic_equation(a, b, c):
delta = b ** 2 - 4 * a * c
if delta > 0:
return "方程有两个不相等的实数根"
elif delta == 0:
return "方程有一个实数根"
else:
return "方程没有实数根"
```
使用示例:
```python
print(judge_quadratic_equation(1, -4, 4)) # 方程有一个实数根
print(judge_quadratic_equation(1, -2, 1)) # 方程有一个实数根
print(judge_quadratic_equation(1, 2, 1)) # 方程有两个不相等的实数根
print(judge_quadratic_equation(1, 1, 1)) # 方程没有实数根
```
相关问题
用C语言写一个求一元二次方程实数根的代码
A:
```c
#include <stdio.h>
#include <math.h>
int main() {
float a, b, c;
float x1, x2, delta;
printf("请输入 a, b, c 的值:");
scanf("%f %f %f", &a, &b, &c);
delta = b * b - 4 * a * c;
if (delta > 0) {
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
printf("该方程有两个不同的实数根:x1 = %.2f, x2 = %.2f\n", x1, x2);
} else if (delta == 0) {
x1 = -b / (2 * a);
printf("该方程有一个实数根:x1 = x2 = %.2f\n", x1);
} else {
printf("该方程没有实数根\n");
}
return 0;
}
```
解释:
这是一个通过输入二次方程的系数,计算方程实数根的 C 语言程序。在程序中,我们定义了一个 `float` 类型的变量来存放三个系数 a、b、c 的值,并计算出 delta(即判别式)的值。然后,分别判断 delta 大于、等于、小于零的情况,并在不同情况下执行相应的语句,最终输出实数根的值。其中,`sqrt()` 函数用来计算平方根,需要在程序开头引入 `math.h` 头文件。
求一元二次方程实根Python
求一元二次方程的实根可以使用Python编程来实现。以下是一个示例代码:
```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
else:
return "No real roots"
# 示例用法
a = 1
b = -3
c = 2
roots = solve_quadratic_equation(a, b, c)
print("实根为:", roots)
```
上述代码定义了一个名为`solve_quadratic_equation`的函数,该函数接受三个参数`a`、`b`和`c`,分别代表一元二次方程的系数。函数内部通过判断判别式的值来确定方程的根的情况,并返回相应的结果。
在示例中,我们给出了一元二次方程的系数`a=1`、`b=-3`和`c=2`,然后调用`solve_quadratic_equation`函数来求解实根,并将结果打印输出。