求解方程ax2+bx+c=0,其中a,b, c从键盘输入(a≠0),输出方程的实根:若无实根,则输出无解。
时间: 2024-04-29 17:21:10 浏览: 22
可以使用判别式来判断方程的根的情况:
当$b^2-4ac>0$时,方程有两个不相等的实根;
当$b^2-4ac=0$时,方程有两个相等的实根;
当$b^2-4ac<0$时,方程无实根。
根据判别式的结果,可以使用if语句来输出方程的根:
```python
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
delta = b**2 - 4*a*c # 计算判别式
if delta > 0:
x1 = (-b + delta**0.5) / (2*a)
x2 = (-b - delta**0.5) / (2*a)
print("方程的实根为:x1 = %.2f, x2 = %.2f" % (x1, x2))
elif delta == 0:
x = -b / (2*a)
print("方程的实根为:x = %.2f" % x)
else:
print("无实根")
```
这里使用了格式化字符串的方式输出结果,其中`%.2f`表示输出一个浮点数,保留两位小数。
相关问题
编写求解一元二次方程ax2+bx+c=0,方程的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:
x1 = (-b + math.sqrt(delta)) / (2*a)
x2 = (-b - math.sqrt(delta)) / (2*a)
print("方程有两个实根:x1={:.2f}, x2={:.2f}".format(x1, x2))
elif delta == 0:
x = -b / (2*a)
print("方程有一个实根:x={:.2f}".format(x))
else:
print("方程无实根!")
```
输入三个系数 a、b、c 后,程序会自动计算方程的解,并输出结果。
需要注意的是,在计算平方根时,我们使用了 math 模块中的 sqrt 函数。此外,我们使用了 format 方法来格式化输出结果,保留两位小数。
编写求解一元二次方程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,则方程有一个实数解;否则方程有两个实数解。最后输出方程的解。