第7关:求解一元二次方程

本关任务涉及编写Python程序,用于求解一元二次方程ax² + bx + c = 0。程序需能接收用户输入的三个系数a、b、c,并精确到3位小数输出方程的解。例如,当输入a=1, b=-1, c=6时,程序应输出方程有两个不等虚根:0.500+2.398i和0.500-2.398i。" 8505469,666090,医学影像处理:窗宽窗位技术解析,"['医学影像处理', '图像显示技术', '窗宽窗位', '数据转换']
import math
a=float(input("请输入系数a:"))
b=float(input("请输入系数b:"))
c=float(input("请输入系数c:"))
s = (b**2)-(4*a*c)
if (a == 0):
    if (b == 0):
        print("此方程无解!")
    else:
        print(str.format("此方程的解为:{0:.3f}", -c / b))
else:
    if s > 0:
        x = (-b + math.sqrt(s))/(2*a)
        y = (-b - math.sqrt(s))/(2*a)
        print('此方程有两个不等实根:{0:.3f}和{1:.3f}'.format(x,y))
    elif s == 0:
        print(str.format('此方程有两个相等实根:{0:.3f}',(-b)/2*a))
    else:
        realPart = (-b)/(2*a)
        imagPart = round((math.sqrt(abs(s)))/(2*a),3)
 #对负数开根号并使用 cmath库会得到复数(a+bj)的形式,bj的形式不可避免
 #而题目要求得到(a+bi)的形式,因此将s添绝对值并开根号可以得到虚部
        print('此方程有两个不等虚根:{0:.3f}+{1}i和{0:.3f}-{1}i'.format(realPart,imagPart))

“”"
本关任务:求解一元二次方程:
编写程序,输入一元二次方程的三个系数a、b、c
求ax平方 +bx+c=0方程的解,要求对方程的解保留3位小数。
测试输入:
请输入系数a:1
请输入系数b:-1
请输入系数c:6
预期输出:
此方程有两个不等虚根:0.500+2.398i和0.500-2.398i

“”"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-阿呆-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值