pythonを始めたばかりの初心者です。
checki0で学習を進めているのですが、"The Most Frequent”という問題があり、リストの中で最も多く使われている文字をプリントしなければなりません。
以下のコードで行うとアウトプットは正常に機能するのですが、check solutionを行うと7行目のif文がout of rangeとなってしまい、うまくいきません。
試しにdata[1]やdata[0]をプリントしたのですが、ちゃんとそれらの該当の値が出てきました。
どなたかご指摘お願いいたします。
python
1コード 2def most_frequent(data: list) -> str: 3 """ 4 determines the most frequently occurring string in the sequence. 5 """ 6 # your code here 7 8 if data.count(data[1])>data.count(data[0]): 9 m=data[1] 10 11 else: 12 m=data[0] 13 14 for i in range(2,len(data)-1): 15 if data.count(data[i])>data.count(m): 16 m=data[i] 17 18 return m 19 20 21 22if __name__ == "__main__": 23 # These "asserts" using only for self-checking and not necessary for auto-testing 24 print("Example:") 25 print(most_frequent(["a", "b", "c", "a", "b", "a"])) 26 27 assert most_frequent(["a", "b", "c", "a", "b", "a"]) == "a" 28 29 assert most_frequent(["a", "a", "bi", "bi", "bi"]) == "bi" 30 print("Done") 31
回答1件
あなたの回答
tips
プレビュー