不用钱:
def qe_one_unk(a, b, c):
# 导入cmath模块以处理复数解
import cmath
# 计算判别式delta
delta = cmath.sqrt(b ** 2 - 4 * a * c)
# 当a=0时,方程退化为一元一次方程
if a == 0:
# b也为0时,根据c的值判断方程是否有解
if b == 0:
# 当c也为0时,方程有无数解
if c == 0:
return "方程有无数解。"
# 当c不为0时,方程无解
else:
return "方程无解。"
# b不为0时,方程有唯一解
else:
return -c / b
# 当a不为0时,进行一元二次方程的求解
else:
# 两个实数解或一个重根
if delta.real > 0 or delta.imag == 0:
x1 = (-b + delta) / (2 * a)
x2 = (-b - delta) / (2 * a)
return (x1, x2)
# 一个实数解
elif delta.real == 0:
x = -b / (2 * a)
return x
# 两个复数解
else:
x1 = (-b + delta) / (2 * a)
x2 = (-b - delta) / (2 * a)
return (x1, x2)