编写Python程序讨论一元二次方程ax2+bx+c=0根的不同情形(共轭复根,一对相同的实根或互异的实根),并计算不同情形下的根,其中系数a,b,c由用户输入。
import math
a=float(input('请输入系数a:'))
b=float(input('请输入系数b:'))
c=float(input('请输入系数c:'))
d=b*b-4*a*c #判别式
if a==0 and b==0:
print('此方程无解!')
elif a==0 and b!=0:
print('此方程的解为:',end='')
x=-c/b
print(x)
elif d==0: #判别式等于0
print('此方程有两个相等实根:',end='')
x=(-b)/2*a
print(x)
elif d>0: #判别式大于0
print('此方程有两个不等实根:',end='')
x1=((-b)+math.sqrt(d))/2*a
x2=((-b)- math.sqrt(d))/2*a
print(x1,' 和 ',x2)
elif d<0: #判别式小于0
print('此方程有两个共轭复根:',end='')
real=(-b)/2*a #实部
imag=(math.sqrt(-d))/2*a #虚部
x1=complex(real,imag)
x2=complex(real,-imag)
print(x1,' 和 ',x2)