无法获取函数返回false?

Jør*_*sen 2 python python-3.x

我正在练习这个练习:

编写一个函数is_member(),它接受一个值(即一个数字,字符串等)x和一个值列表a,如果x是一个成员,则返回True,否则返回False.(注意,这正是in运算符所做的,但是为了练习,你应该假装Python没有这个运算符.)

我写了这个函数:

def isMember(value, list):
  for element in list:
    if(element == value):
      return True
    else:
      return False

myList = ["a","b","c",1,2,3]

print(isMember("a",myList)) #Returns True; correct
print(isMember(3,myList)) #Returns False; why the heck?
Run Code Online (Sandbox Code Playgroud)

mdm*_*dml 11

你需要return False走出循环:

def isMember(value, list):
    for element in list:
        if(element == value):
            return True
    return False
Run Code Online (Sandbox Code Playgroud)

如果它不是第一项,那么你当前的方式isMember将会返回.此外,您应该将列表变量的名称更改为其他内容,这是Python中内置函数.Falsevaluelistlist