[ Python]求解答?

第四题,用if...elif...else语句及求根公式

def g(a,b,c):

    if a==0:

        x=-c/b

        return x

    d=b**2-4*a*c

    if d>0:

        x1,x2=(-b+d**0.5)/(2*a),(-b-d**0.5)/(2*a)

        return x1,x2

    elif d==0:

        x=-b/(2*a)

        return x

    else:

        return "该方程无实根"

测试:

if __name__ == '__main__':

    print(g(1,1,-2))

    print(g(1,1,1))

望采纳

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-10-25
程序如下:
#encoding=utf-8
import math

a = float(input("请输入a:"))
b = float(input("请输入b:"))
c = float(input("请输入c:"))
print("方程%fx^2+%fx+%f=0\n" % (a,b,c))
delta = b*b-4*a*c
if delta >= 0:
x1 = (-b+math.sqrt(delta))/(2*a)
x2 = (-b-math.sqrt(delta))/(2*a)
print('两个实根分别为x1 = %f, x2= %f' % (x1,x2) )
else:
print("无实根")

结果:
python3 a.py
请输入a:1
请输入b:2
请输入c:1
方程1.000000x^2+2.000000x+1.000000=0

两个实根分别为x1 = -1.000000, x2= -1.000000
python3 a.py
请输入a:1
请输入b:3
请输入c:3
方程1.000000x^2+3.000000x+3.000000=0

无实根
相似回答