用python编写程序,输入一元二次方程ax 2+bx+c=0的系数a,b和c (假设a,6,均力整数,求解并输出该方程的实根。输入数据之间以英文空格分隔。要求有实根时将两个实根按照升序输出,中间无空格,结果保留3位小数:无实根则输出“No real root”。
时间: 2023-06-04 09:08:49 浏览: 46
好的,我可以回答这个问题。请看下面的代码:
```
import math
a, b, c = map(int, input().split()) # 输入a, b, c
delta = b**2 - 4*a*c # 计算delta
if delta < 0: # delta小于0,无实根
print("No real root")
else: # delta大于等于0,有实根
x1 = (-b + math.sqrt(delta)) / (2*a) # 计算第一个实根
x2 = (-b - math.sqrt(delta)) / (2*a) # 计算第二个实根
if x1 > x2: # 输出两个实根
print("{:.3f}{:.3f}".format(x2, x1))
else:
print("{:.3f}{:.3f}".format(x1, x2))
```
希望对您有帮助。
相关问题
编写求解一元二次方程ax2+bx+c=0,方程的a,b,c从键盘输入python
可以使用 Python 的 math 模块来求解一元二次方程。可以按照以下代码编写程序:
```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("方程无实数解!")
elif delta == 0:
x = -b / (2*a)
print("方程的解为:x={}".format(x))
else:
x1 = (-b + math.sqrt(delta)) / (2*a)
x2 = (-b - math.sqrt(delta)) / (2*a)
print("方程的解为:x1={}, x2={}".format(x1, x2))
```
在程序中,我们首先从键盘输入方程的系数 a、b、c,然后计算出方程的判别式 delta。如果 delta 小于 0,则方程无实数解;如果 delta 等于 0,则方程有一个实数解;否则方程有两个实数解。最后输出方程的解。
编写程序求解一元二次方程ax2+bx+c=0的根,方程的系数由用户在运行时输入。
我们可以使用数学公式求解一元二次方程ax²+bx+c=0的根:
$$
x = \frac{-b \pm \sqrt{b^2-4ac}}{2a}
$$
根据这个公式,我们可以编写一个 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("该方程无实数解")
elif delta == 0:
x = -b / (2*a)
print("该方程有一个实数解:", x)
else:
x1 = (-b + math.sqrt(delta)) / (2*a)
x2 = (-b - math.sqrt(delta)) / (2*a)
print("该方程有两个实数解:", x1, x2)
```
在这个程序中,我们首先需要从用户那里输入a、b和c的值。然后,我们计算判别式$\Delta$,如果$\Delta<0$,该方程无实数解;如果$\Delta=0$,该方程有一个实数解;如果$\Delta>0$,该方程有两个实数解。最后,我们使用数学库中的sqrt函数来计算平方根,计算出方程的根并输出。