for语句困难

时间:2018-10-04 02:48:53

标签: python

编写一个名为“ find_value”的函数,该函数将整数列表作为参数并搜索值8。如果列表中有8,则该函数将返回一个布尔值,表示true;否则,则返回false。 >

def find_value(number):
    for i in number:
        if i in number is 8:
            return True
        else:
            return False

函数find_value在输入[[11,3,11,1,8,12]]上不正确
返回:False
预期:真

2 个答案:

答案 0 :(得分:1)

StackOverflow要求一个人在发表问题之前做必要的作业。既然您是新来者,这是一个解决方案。但强烈建议您阅读准则。

示例代码:

def find_value(number):
  return bool(8 in number)

输出:

>>> find_value([1,2,3,4])
False
>>> find_value([1,2,3,4, 8])
True
>>> find_value([])
False
>>>

答案 1 :(得分:1)

这将使用 lambda x==8过滤列表。然后,如果有任何项填充了过滤列表,则any将返回True,否则将返回False

print(any(list(filter(lambda x: x == 8, [11, 3, 11, 1, 8, 12])))) # => True