phython语言从键盘输入a、b、c的值,作为一个一元二次方程ax²+bx+c=0的三个参数。判断这个一元二次方程是否有实根,如果有实根,则输出这个方程的实根。
时间: 2024-10-11 10:10:20 浏览: 30
Python中,你可以通过math库来计算一元二次方程的判别式(Δ = b^2 - 4ac),然后根据判别式的值来判断方程是否有实根。以下是一个简单的示例程序:
```python
import math
# 输入一元二次方程的系数
a = float(input("请输入二次项系数 a: "))
b = float(input("请输入一次项系数 b: "))
c = float(input("请输入常数项系数 c: "))
# 计算判别式
delta = b**2 - 4*a*c
# 判断并输出结果
if delta >= 0:
# 方程有实根,计算两个解
x1 = (-b + math.sqrt(delta)) / (2 * a)
x2 = (-b - math.sqrt(delta)) / (2 * a)
print(f"该一元二次方程 {a}x^2 + {b}x + {c} 的实根是 x1={x1} 和 x2={x2}")
else:
print("该一元二次方程无实根.")
```
当你运行这个程序,按照提示输入相应的系数a、b和c,它会显示方程是否有实根以及若有实根则给出的解。
相关问题
请利用phython编写函数solve-quadratic(a,b,c)求解一元二次方程ax²+bx+c
你可以使用Python的标准库`math`中的`sqrt()`函数来实现一元二次方程的求解。下面是一个简单的`solve_quadratic()`函数示例:
```python
import math
def solve_quadratic(a, b, c):
"""
解决一元二次方程 ax² + bx + c = 0 的根
参数:
a (float): 二次项系数
b (float): 一次项系数
c (float): 常数项
返回:
tuple(float, float): 方程的两个解 (若判别式小于0,则返回复数)
"""
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
else:
real_part = -b / (2 * a)
imaginary_part = math.sqrt(-discriminant) / (2 * a)
return complex(real_part, imaginary_part), complex(real_part, -imaginary_part)
# 示例使用
a = 1
b = -3
c = 2
solution = solve_quadratic(a, b, c)
print(f"方程 {a}x² + {b}x + {c} 的解为:", solution)
```
请利用phython编写函数solve-quadratic(a,b,c)求解一元二次方程ax²+bx+c,并添加至少三个测试用例
要编写一个名为`solve_quadratic`的函数来解决一元二次方程`ax² + bx + c = 0`,可以使用公式`(-b ± sqrt(b² - 4ac)) / (2a)`。以下是函数定义及其测试用例的示例:
```python
import math
def solve_quadratic(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"
# 测试用例
test_cases = [
(1, 2, 1), # 应该有两个实根(-1, -1)
(1, 0, 1), # 应该只有一个实根(-1)
(1, -3, 2), # 应该有两个虚根(复数解)
(0, 0, 0), # 特殊情况,应返回0
]
for a, b, c in test_cases:
result = solve_quadratic(a, b, c)
print(f"Given equation {a}x^2 + {b}x + {c} has roots:", result)
```
阅读全文