用Python写出求解一元二次方程的根。输入方程的三个系数a、b、c,输出方程的根。如果不能求出实根,程序应该给出合理响应。
时间: 2023-03-30 09:04:52 浏览: 481
好的,我可以回答这个问题。以下是用 Python 求解一元二次方程的根的代码:
```python
import math
a = float(input("请输入一元二次方程的系数a:"))
b = float(input("请输入一元二次方程的系数b:"))
c = float(input("请输入一元二次方程的系数c:"))
delta = b**2 - 4*a*c
if delta < :
print("该方程无实根")
elif delta == :
x = -b / (2*a)
print("该方程有一个实根:x =", x)
else:
x1 = (-b + math.sqrt(delta)) / (2*a)
x2 = (-b - math.sqrt(delta)) / (2*a)
print("该方程有两个实根:x1 =", x1, "x2 =", x2)
```
希望这个代码能够帮助你解决问题。
相关问题
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。如果方程有实数根,它将输出两个根;如果有复数根,会输出一对共轭复数。
用python从键盘输入一元二次方程的三个系数,求解并输出。
可以使用以下代码实现:
```python
import math
# 从键盘输入三个系数
a = float(input("请输入二次项系数a:"))
b = float(input("请输入一次项系数b:"))
c = float(input("请输入常数项系数c:"))
# 判断是否有实数解
delta = b**2 - 4*a*c
if delta < 0:
print("该方程无实数解")
else:
# 计算解
x1 = (-b + math.sqrt(delta)) / (2*a)
x2 = (-b - math.sqrt(delta)) / (2*a)
# 输出解
print("方程的两个解为:x1={:.2f},x2={:.2f}".format(x1, x2))
```
运行结果:
```
请输入二次项系数a:1
请输入一次项系数b:-3
请输入常数项系数c:-4
方程的两个解为:x1=4.00,x2=-1.00
```
阅读全文