Discuss / Python / 习题代码

习题代码

Topic source
import mathdef quadratic(a,b,c):        if not isinstance(a,(int,float)):            raise TypeError('数据类型错误,请输入int/float型数据!')        if not isinstance(b, (int,float)):            raise TypeError('数据类型错误,请输入int/float型数据!')        if not isinstance(c, (int,float)):            raise TypeError('数据类型错误,请输入int/float型数据!')        judge = b**2-4*a*c        if judge > 0:            factor = judge            answer_1 = (-b + math.sqrt(factor))/(2 * a)            answer_2 = (-b - math.sqrt(factor))/(2 * a)            answer_number = 2            return answer_number,answer_1,answer_2        elif judge < 0:            answer_number = 0            return answer_number        else:            factor = judge            answer = (-b + math.sqrt(factor)) / (2 * a)            answer_number =1            return answer_number,answeranswer_lise = []a = int(input('请输入你第一个方程参数a:'))b = int(input('请输入你第二个方程参数b:'))c = int(input('请输入你第三个方程参数c:'))answer_lise = quadratic(a,b,c)          #注意!!!当设计的自定义函数反回的参数只有一个时,此返回值时该参数的原类型                                            #注意!!!当设计的自定义函数反回的参数不止一个时,会返回一个元组类型数据if isinstance(answer_lise,(int,float)): #当方程无解时,返回的是int型数据,不能使用answer_lise[0] == 0,
                                        #此时answer_lise是int型数据    print('该方程无解!')elif answer_lise[0] == 1:    print('该方程只有一个解:',answer_lise[1])else:    print('该方程有两个解,分别是:',answer_lise[1],'、',answer_lise[2])

  • 1

Reply