Discuss / Python / 交作业。。

交作业。。

Topic source

与非----

#1 Created at ... [Delete] [Delete and Lock User]
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------------------------------

  • 1

Reply