2016-10-25 4 views
-3

これはなぜ機能していないのか理解できる人はいますか?Python forステートメント| MIT OCW

要素xがリスト項目にある場合はTrueを返し、それ以外の場合はFalseを返します。

def member (x, items): 
    for i in items: 
     if x == i: 
      return True 
     else: 
      return False 
+2

*リストの各*要素に対して、 'True'または' False'を '返す '。つまり、リストの最初の要素であっても、関数は 'return True'または' False'を返します。それから止めてください。 – deceze

+2

また、 'items in items'を返すともっと実用的なコードになります。 – deceze

+0

' in'を忘れないでください。 'l = [1、2、3]; 2 in 1; – doctorlove

答えて

0

第一の要素は、xと等しい場合、あなたの関数がtrueまたはfalseを返しますので...

最も簡単な解決策は次のとおりです。

def member (x, items): 
    return x in items 

と、これはあなたのコードをベースにしたソリューションです。

def member (x, items): 
    for i in items: 
     if x == i: 
      return True 
    return False 
関連する問題