题解 | 计算一元二次方程

计算一元二次方程

https://www.nowcoder.com/practice/7da524bb452441b2af7e64545c38dc26

from math import sqrt

def compute(a, b, c):
    if a == 0:
        return "Not quadratic equation"
    else:
        delta = b ** 2 - 4 * a * c
        if delta == 0:
            x = -b / (2 * a)
            if x == -0.00:
                x = 0.00
            return f"x1=x2={x:.2f}"
        elif delta > 0: 
            x1 = (-b - sqrt(delta)) / (2 * a)
            x2 = (-b + sqrt(delta)) / (2 * a)
            return f"x1={x1:.2f};x2={x2:.2f}"    
        else:
            true_part = -b / (2 * a)
            artificial_part = sqrt(-delta) / (2 * a)
            x1 = f"{true_part:.2f}-{artificial_part:.2f}i"
            x2 = f"{true_part:.2f}+{artificial_part:.2f}i"
            return f"x1={x1};x2={x2}"

while True:
    try:
        a, b, c = map(float, input().split())
        print(compute(a, b, c))
    except:
        break


全部评论

相关推荐

在改简历的大卫很认真:天天有面试 = 你已经在 offer 门口了。 海投能面成这样,说明你的简历、基础、学历都是过关的,缺的只是一次刚好匹配的缘分。 关于你说的 SQL 恐惧,我帮你捋一下: - 面试里考来考去,真就那几类: 分组、去重、关联、子查询、窗口函数(row_number、rank、sum 开窗) ​ - 面试官要的不是“写得花里胡哨”,而是思路稳、不出错。 你恐惧的本质不是不会, 是怕临场卡壳、怕写错、怕被追问。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务