2016-09-30 7 views
0

リストに3つの同じ整数が指定されている場合、Trueを返します。同じ整数の3つがない場合は、Boolean Falseを返します。私はこれを書くのに問題があります。カウント機能はこれを行いますか?また、空のリストをインポートする必要がありますか?私はこれを持っていて、 "int"オブジェクトには 'count'という属性がありません。ありがとうございました!リストには同じ要素が3つ含まれていますか?

def threeOfAKind(aList,n): 
     if aList.count(n): 
      return True 
     else: 
      return False 

threeOfAKind([1,2,3,4,4,4]、4])に関係なく、私は

呼んで、私はaList.count(n)を試したが、今、私は真の取得 Trueを返す必要があります
+0

どのようにそのメソッドを呼び出していますか?エラーに基づいて、あなたは明らかに 'n'を整数として渡しているので、あなたが得ているエラーを説明しています。 – idjaw

+0

threeOfAKind([1,2,3,4,4,4]、4))これはTrueを返すはずです –

+1

あなたの質問に入れてください。エラーメッセージが表示される理由を理解していますか? 'n'は実際にあなたのメソッドに渡しているあなたの整数' 4'であることに気づいていますか?整数に 'count'を呼び出そうとしています。このメッセージは' int'に属性 'count'がないことを伝えています。 – idjaw

答えて

0

このライン:

if aList.count(n): 

はあなたのコードが動作していない理由です。

listcount関数は、発生数をnとしてリストに返します。引数が[1,2,3,4,4,4]と4の場合、aList.count(n)はリスト内で4回発生するため3を返します。

したがって、上記のコードの行は、基本的には同じである:それはif条件のために期待したものですので、今3は、ブール値に変換されます

if 3: 

。 3がTrueまたはFalseに変換されていることを知りたければ、インタラクティブなPythonインタプリタでbool(3)を試してみてください。

nがリスト内で3回発生しているかどうかを確認したいので、戻り値aList.count(n)と何かを比較する必要がありますか?あなたはobvisouly aList.count(n)が2または4を返す場合Trueを返すしたくないですか?

関連する問題