Discuss / Python / 大佬们帮忙看看,我想让它进入异常块,现在进不去

大佬们帮忙看看,我想让它进入异常块,现在进不去

Topic source

BEKINDTO009

#1 Created at ... [Delete] [Delete and Lock User]

def product(a,b = 6,c = 7,d = 9):

    if not isinstance(a,(int,float)):

        raise TypeError('类型错误')

    if b == 6:

        return a

    elif c == 7:

        return a

    elif d == 9:

        return a

    elif b != 6 and c == 7:

        return a * b

    elif b != 6 and c != 7 and d == 9:

        return a * b * c

    elif b != 6 and c != 7 and d != 9:

        return a * b * c * d

if product(5) != 5:

    print('测试失败!')

elif product(5,b=6) != 30:

    print('测试失败!')

elif product(5,b=6,c=7) != 210:

    print('测试失败!')

elif product(5,b=6,c=7,d=9) != 1890:

    print('测试失败!')

else:

    try:

        product()

        print('测试失败')

    except TypeError:

        print('测试成功')

不管传入的是(5), (5,6) 还是(5,6,7);b都是6,

 if b == 6:

        return a

通过这部分时返回的都是a, return之后就不再向下执行了;

而且你这套逻辑不通用,换一些测试数据的时候你这条逻辑就不行了。


  • 1

Reply