Python 求一元二次方程组的解

该篇文章介绍了如何使用Python编程解决一元一次方程ax^2+bx+c的求解问题,包括实数根的计算(当判别式大于0时)和复数根的处理(当判别式小于0时),并考虑了a=0的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ax*x+bx+c的模式

由用户输入a,b,c的值,直接输出方程的解(有理数,复数)

考虑到2种情况

(1)a不等于零

1)b*b-4*a*c  的值大于零,直接用求根公式

2)b*b-4*a*c  的值小于零,考虑到复数情况

(2)a等于零,此时考虑到不能让分母有零,所以将定义部分加到了if语句里面

看作一元一次方程求解

a=float(input("请输入a的值"))
b=float(input("请输入b的值"))
c=float(input("请输入c的值"))
if a!=0:
    d1 = float(b * b - 4 * a * c)
    d2 = pow(d1, 0.5)
    k1 = -b + d2
    k2 = -b - d2
    x1 = k1 / (2 * a)
    x2 = k2 / (2 * a)#方程的根是实根

    d3 = float(4 * a * c - b * b)
    d4 = pow(d3, 0.5)
    k3 = -b + d3
    k4 = -b + d4
    x3 = k3 / (2 * a)
    x4 = k4 / (2 * a)#方程的根是虚根
    if d1>0:
     print("方程  {}xx+{}x+{}的根是  {},{}".format(a,b,c,x1,x2))
    else:
        print("方程  {}xx+{}x+{}的根是  {}i,{}i".format(a,b,c,x3,x4))
else:
    print("方程的根是{}".format(-(b/c)))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值