import math #定义函数开始 ------------------------------ def abc(a,b,c): a = int(a) b = int(b) c = int(c) yz = b*b-4*a*c if (yz > 0 or yz == 0): #如果 b^2-4ac 不小于零则进行计算并返回两个值。 x1 = (-b+math.sqrt(yz))/(2*a) x2 = (-b-math.sqrt(yz))/(2*a) return x1,x2 else: return yz,"" #否则返回 b^2-4ac的值和一个空值。 #定义函数结束------------------------------ d = [] #定义list列表,用来接受input的值。 n = 0 #定义计数器,用来循环输入数值。 cs = ["a","b","c"] #定义list列表,把函数的三个常量a b c 放进去。 print("一元二次方程式:"+cs[0]+"X^2+"+cs[1]+"X+"+cs[2]+"=0") while n<3: i = input("请输入"+cs[n]+"的值:") if i == "" : #判断输入是否为空,如果为空则重新输入(本来还想判断一下输入是否为数字,但不知道用哪个函数)。 n = n-1 print("数值不能为空,请重新输入!") elif int(i) == 0 and n == 0: #判断a是否为0,如果为0则重新输入。 n = n-1 print("a不能为0,请重新输入!") else: d.insert(n,i) #把三次输入的数值依次放进list列表里。 n = n+1 print("方程式为:"+d[0]+"X^2+"+d[1]+"X+"+d[2]+"=0") jg = abc(d[0],d[1],d[2]) #把list列表里的三个对象当作参数传给函数,并把结果赋给jg。 if jg[1] == "" : #判断函数的第二个返回值是否为空 print("b^2-4ac = "+str(jg[0])+" < 0 ,此方程没有实数根") elif jg[0] == jg[1] : #判断两个返回值是否相等 print("此方程有1个根:X = "+str(jg[0])) else : print("此方程有2个根:X1 = "+str(jg[0])+" ; " "X2 = "+str(jg[1])) #--------------------end------------------------------
Sign in to make a reply
与非----