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])
Sign in to make a reply
大浪并不浪