Discuss / Python / 交作业

交作业

Topic source
#-*- coding:utf-8 -*-
#时间:2020/3/30 MON
#内容:定义函数:求一元二次方程的解
import math                      #导入math函数包
def quadratic(a,b,c):            #定义quadratic(a,b,c)
    if not isinstance(a,(int,float)) and isinstance(b,(int,float)) and isinstance(c,(int,float)):    #检查a,b,c是否为int和float
        raise TypeError('参数不是正确的类型')                                                         #不是就报错,函数终止
    SQ=b**2 - 4 * a *c                                                                              #赋值SQ=根号下的内容
    if SQ < 0:                                                                                      #SQ < 0,则无法开根号,故方程无解
        return                                                                                      #返回 None
    else:                                                                                           #SQ >= 0,执行
        x= ((-b + math.sqrt(SQ))/(2 * a),(-b - math.sqrt(SQ))/(2 * a))                              #二次方程求解公式
        return x                                                                                    #返回解x

# 测试:
print('quadratic(2, 3, 1) =', quadratic(2, 3, 1))
print('quadratic(1, 3, -4) =', quadratic(1, 3, -4))
print('quadratic(1, 1, 1) =', quadratic(1, 1, 1))
if quadratic(2, 3, 1) != (-0.5, -1.0):
    print('测试失败')
elif quadratic(1, 3, -4) != (1.0, -4.0):
    print('测试失败')
elif quadratic(1, 1, 1) != None:
    print('测试失败')
else:
    print('测试成功')

  • 1

Reply