文字列のリストが与えられたときに、指定された文字がいくつ現れるかを数える関数を定義するプログラムが目的です。その際にごく基本的に二重ループを使って表したいと考えています。これがどうもうまくいかず困っています。jupyter notebookを使っています。どこがおかしいのでしょうか。エラーメッセージはありません。
実行例としては次のようなものです。
python3
1l(['cat', 'dog', 'mouse', 'dragon', 'zoo'], 'o') 2
次のようにプログラムを書きましたところ、結果がうまく出ません。
python3
1 2l = ['cat', 'dog', 'mouse', 'dragon','zoo'] 3 4def ex4_10(f, g='a'): 5 f = l[0][0] 6 for i in range(0, len(l)): 7 for j in range(0, len(l[i])): 8 if f == g: 9 f += 1 10 return f
結果は次のようです。
python3
1 2ex4_10(f, g) 3>>'c' 4
変数fはコード内でどのような役割を持っているのか、まず再考してみてはいかがでしょう。
回答1件
あなたの回答
tips
プレビュー