任务描述 本关任务:编写一个能求解一元二次方程的小程序。 一元二次方程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(c) 则会输出: (2+3j) ####测试说明 平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。 开始你的任务吧,祝你成功! 用python解答
时间: 2023-04-07 18:05:23 浏览: 279
本任务要求编写一个能够解一元二次方程的小程序。根据输入的三个系数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)。其中,j表示虚数单位,sqrt表示平方根。
例如,当输入的系数为a=0,b=2,c=4时,根据第一种情况,方程的解为x=-c/b=-4/2=-2.0。
阅读全文