Discuss / Python / 求解答

求解答

Topic source
else:
    try:
        mul()
        print('测试失败!')
    except TypeError:
        print('测试成功!')

这里是什么意思,try是做什么的啊?

0ne0@y

#2 Created at ... [Delete] [Delete and Lock User]
else:    # 上面的判断不满足时
    try:    # 先试试运行 mul() 如果这里运行成功则会输出测试失败
        mul()
        print('测试失败!')
    except TypeError:  # 这里用于捕捉上下文抛出的异常,except <异常名>: #捕获指定异常
        print('测试成功!')

## 所以,想输出测试成功,需要在判断的时候进行手动抛出一个类型错误异常,except才能捕捉到异常,就可以输出 测试成功


# 这是我的答案
# 定义一个 mul 函数,参数使用 可变参数 ,会将接收的值转化为tuple类型,可以接收多个参数值
def mul(*args):
    x = 1    #初始值
    if len(args) > 0:   # 判断给定的参数长度,如果有参数传入,也就是长度大于0,则进行运算
       for i in args:
          x = x * i
    else:      # 如果没有传递参数到函数中,则自行引发一个异常
       raise TypeError('Missing parameter')     # raise 用于手动引发异常,这里引发一个类型错误的异常
    return x       # 返回乘积值

  • 1

Reply