Discuss / Python / 交作业2019.2.13 定义函数——求多参数检测的简便方法

交作业2019.2.13 定义函数——求多参数检测的简便方法

Topic source
# -*- coding: utf-8 -*-

import math

def quadratic(a, b, c):
    #检测参数,有没有一次性检测多个参数的方法?除了再定义一个多参数检测的自定义参数
    if not isinstance(a,(int,float)):
        raise TypeError('bad operand type')
    if not isinstance(b,(int,float)):
        raise TypeError('bad operand type')
    if not isinstance(c,(int,float)):
        raise TypeError('bad operand type')

    delta=b*b-4*a*c
    if delta == 0:
        x=-b/(2*a)
        return x
    elif delta < 0:
        return '方程无实数解'
    else:
        x1=(-b+math.sqrt(b*b-4*a*c))/(2*a)
        x2=(-b-math.sqrt(b*b-4*a*c))/(2*a)
        return x1,x2
# 测试:
print('quadratic(2, 3, 1) =', quadratic(2, 3, 1))
print('quadratic(1, 3, -4) =', quadratic(1, 3, -4))

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

运行结果:

quadratic(2, 3, 1) = (-0.5, -1.0) 
quadratic(1, 3, -4) = (1.0, -4.0) 
测试成功

  • 1

Reply