python---1 发表于 2021-5-21 22:17:47

请教,谢谢

def func(listinfo):
    try:
      result = filter(lambda k: k<100 and k%2==0, listinfo)
    except Exception as err:
      return err
    else:
      print(list(result))
      return False

listinfo =
assert func(listinfo)

结果
Traceback (most recent call last):
File "C:/Users/Administrator/AppData/Local/Programs/Python/Python38/1.py", line 11, in <module>
    assert func(listinfo)
AssertionError

wp231957 发表于 2021-5-21 22:23:54

你为啥要加assert   看不懂

terry_zxf 发表于 2021-5-21 23:58:25


def func(listinfo):
    try:
      result = filter(lambda k: k<100 and k%2==0, listinfo)
    except Exception as err:
      return err
    else:
      print(list(result))
       return False //我觉得问题在这里你返回false

listinfo =
assert func(listinfo)


try ....except...else 语句,当没有异常发生时,else中的语句将会被执行。

你理解应该反了, else 这里和except 是逻辑队列 ,try是执行队列先于逻辑队列执行,然后逻辑队列再判断二选一。

python---1 发表于 2021-5-22 11:10:10

题目要求断言返回结果的类型啊

python---1 发表于 2021-5-22 11:26:09

谢谢
页: [1]
查看完整版本: 请教,谢谢