• educoder_python:4-1-逻辑控制(if)第2关:求解一元二次方程组


    任务描述
    本关任务:编写一个能求解一元二次方程的小程序。
    一元二次方程ax
    2
    +bx+c=0
    a、b、c三个系数由测试集读入,根据三个系数来求解x的值则应为:
    1、a=0 时输出: x=−c/b
    2、b
    2
    −4ac=0时输出: x1=x2=−b/2a
    3、b
    2
    −4ac>0时输出: x1=(−b+sqrt(b
    2
    −4ac))/2a,x2=(−b−sqrt(b
    2
    −4ac))/2a
    4、b
    2
    −4ac<0时输出: x1=(−b/2a+sqrt(4ac−b
    2
    )/2aj),x2=(−b/2a−sqrt(4ac−b
    2
    )/2aj)
    其中,
    x1的实部为−b/2a,虚部为sqrt(4ac−b
    2
    )/2a
    x2的实部为−b/2a,虚部为−sqrt(4ac−b
    2
    )/2a
    这里sqrt的使用方法见相关知识1,复数的生成方法见相关知识2
    例如:
    测试集数据读入a、b、c的值为
    0; 2; 4
    输出为
    x= -2.0 #使用 print(“x=”,x) 语句输出
    测试集数据读入a、b、c的值为
    1; -1; -2
    输出为
    x1= 2.0 x2= -1.0 #使用 print(“x1=”,x1,“x2=”,x2) 语句输出

    测试集数据读入a、b、c的值为
    1; 2; 3
    输出为
    x1= (-1+1.4142135623730951j) x2= (-1-1.4142135623730951j)

    相关知识
    1、求平方根:sqrt的用法
    sqrt是math库里的一个函数,求平方根,使用前需要引入math,
    本题目在第一行已经为大家引入该模块,后面直接使用math.sqrt函数即可,不用再次import math
    使用方法如下:

    import math
    a=3
    b=4
    x=math.sqrt(a2+b3) #调用math.sqrt求根下 a平方加b的三次方
    print(‘x=’,x)
    x的值就是根下a平方加b的三次方

    2、复数生成:complex的用法

    complex是python中生成一个复数的方法。使用方法如下:

    a=2
    b=3
    c=complex(a,b) #调用complex生成了一个实部为a,虚部为b的复数c
    print©
    则会输出:
    (2+3j)
    ####测试说明

    import math        #引入math模块
    a=float(input())        #读入测试变量a
    b=float(input())        #读入测试变量b        
    c=float(input())        #读入测试变量c
    
    #**********begin*******以下编写代码实现
    sqrt=math.sqrt
    if a==0:
        x=float(-c/b)
        print("x=",x)
    elif b*b-4*a*c==0:
        x=float(-b/2*a)
        print("x1=x2=",x)
    elif b*b-4*a*c>0:
        x1=float(-b+sqrt(b*b-4*a*c))/(2*a)
        x2=float(-b-sqrt(b*b-4*a*c))/(2*a)
        print("x1= {} x2= {}".format(x1,x2))
    else:
        cc=complex(0,1)#0+1*i=1*i
        x1=((-b)/(2*a)+sqrt(4*a*c-b*b)/(2*a)*cc)
        x2=((-b)/(2*a)-sqrt(4*a*c-b*b)/(2*a)*cc)
        print("x1= {} x2= {}".format(x1,x2))
    #**********end***********
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    在这里插入图片描述

  • 相关阅读:
    【Angular】10路由
    php志愿者协会报名系统的设计与实现毕业设计源码201524
    矩阵分析与应用
    Python进阶(三)-图形界面编程Tkinter(3)
    【网络篇】如何查看ip 是否冲突
    微信小程序实现tab切换和吸顶效果
    数据安全峰会2022 | 美创DSM获颁“数据安全产品能力验证计划”评测证书
    在Go中处理异常
    在Ubuntu上为ARM 8处理器安装Python 3.10.4虚拟环境指南
    RS-232/485信号转标准模拟信号输出隔离D/A转换器 控制远程设备
  • 原文地址:https://blog.csdn.net/weixin_43898383/article/details/126140208