2017-05-16 11 views
-1

数値と数値のリストを引数として受け取り、数値の発生回数を返す関数型プログラミングを使用して関数を作成しようとしていますリスト内のそして私は私の人生でなぜこのエラーが出るのか理解できません。私は同様の質問を閲覧しましたが、何が間違っているのか理解できません。Python - リストオブジェクトの "int 'オブジェクトにサブスクリプトがありません"

def count(num, list): 
    if list == []: 
     return 0 
    elif list[0] == num: # I am getting the error on this line 
     return 1 + count(list[1:], num) 
    else: 
     return 0 + count(list[1:], num) 

print (count(4, [])) 
print (count(3, [1, 2, 3, 4, 5])) 
print (count(1, [1, 1, 1])) 
+0

あるべき –

答えて

2

numには、 "表示しない" の代わりに、==場合は、おそらく最初に変更する必要があり、最初のパラメータ

def count(num, list): 
    if list == []: 
     return 0 
    elif list[0] == num: 
     return 1 + count(num, list[1:]) # <- here 
    else: 
     return 0 + count(num, list[1:]) # <- and here 
+1

うわー、私は[]:ここで

はコードがあります私はそれに気づかなかったとは信じられません。同じコードを見ていると、あなたは盲目になります。ありがとう! :) –

関連する問題