编写程序,计算并输出方程的实数根。 要求:输入一元二次方程ax2 +bx+c=0的参数a、b、c,计算并输出方程的实数根(结果保留两位小数)。若方程没有实数根,输出“方程没有实数根”。 提示: p=b*b-4*a*c if p>0: x1=(-b+math.sqrt(p))/(2*a) x2=(-b-math.sqrt(p))/(2*a)
时间: 2024-02-27 10:52:39 浏览: 95
可以使用math库中的sqrt函数来计算平方根。
以下是一个示例代码:
```python
import math
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
p = b * b - 4 * a * c
if p >= 0:
x1 = (-b + math.sqrt(p)) / (2 * a)
x2 = (-b - math.sqrt(p)) / (2 * a)
print("方程的实数根为:x1=%.2f, x2=%.2f" % (x1, x2))
else:
print("方程没有实数根")
```
输入三个参数a=1,b=-5,c=6,输出结果为:
```
方程的实数根为:x1=3.00, x2=2.00
```
再输入三个参数a=1,b=2,c=3,输出结果为:
```
方程没有实数根
```
相关问题
用python编写程序,计算并输出方程的实数根。 要求:输人一元二次方程ax2+bx+c=0的参数a、b、c,计算并输出方程的实数根(结果保 留两位小数)。若方程没有实数根,输出“方程没有实数根
在Python中,我们可以利用math库中的函数来计算一元二次方程的实数根。首先需要定义一个函数,例如`quadratic_solver(a, b, c)`,然后通过公式`(-b ± sqrt(b^2 - 4ac)) / (2a)`来计算根。如果判别式`b^2 - 4ac`小于零,说明方程无实数根。以下是完整的代码示例:
```python
import math
def quadratic_solver(a, b, c):
discriminant = b ** 2 - 4 * a * c
if discriminant > 0:
root1 = round((-b + math.sqrt(discriminant)) / (2 * a), 2)
root2 = round((-b - math.sqrt(discriminant)) / (2 * a), 2)
return f"方程的两个实数根分别是 {root1} 和 {root2}"
elif discriminant == 0:
root = -b / (2 * a)
return f"方程有一个实数根:{round(root, 2)}"
else:
return "方程没有实数根"
# 用户输入
a = float(input("请输入二次项系数a:"))
b = float(input("请输入一次项系数b:"))
c = float(input("请输入常数项c:"))
result = quadratic_solver(a, b, c)
print(result)
```
用户可以根据提示输入方程的系数,程序会计算并输出相应的根,或提示方程无实数根。
python写代码求解一元二次方程的根。一元二次方程形式如下: ax2+bx+c=0,编写程序实现用户从键盘输入方程系数a,b,c,计算方程的实数根并输出显示。 一元二次方程的求解公式为:
在Python中,你可以使用`cmath`模块来处理复数,并通过二次公式来计算一元二次方程的根。以下是实现这个功能的简单步骤:
```python
import cmath
def calculate_roots(a, b, c):
# 计算判别式
discriminant = (b**2) - (4*a*c)
if a == 0:
print("这不是一个二次方程,a不能为零.")
return None
# 实数根的情况
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)
root1 = complex(real_part, imaginary_part)
root2 = complex(real_part, -imaginary_part)
return (root1, root2)
# 获取用户输入
a = float(input("请输入a的值: "))
b = float(input("请输入b的值: "))
c = float(input("请输入c的值: "))
roots = calculate_roots(a, b, c)
if roots is not None:
print("一元二次方程的根是:")
for i, root in enumerate(roots, start=1):
print(f"根{i}: {root}")
else:
print("无法计算,因为不是二次方程.")
```
运行此程序时,用户需要输入一元二次方程的系数a、b和c。如果方程有实数根,它将输出两个根;如果有复数根,会输出一对共轭复数。
阅读全文