文字列内で最も頻繁に出現する char を見つけるために、次の関数を作成しました。次の場合にうまく機能します。
- "こんにちは世界!"
- "ごきげんよう?"
- "One" (文字列に一意の文字のみが含まれる場合、最初のアルファベット文字を返します)
次の文字列「Lorem ipsum dolor sit amet」で失敗します。最も頻繁に使用される文字はすべて 3 回出現し、そのうちの 1 つではなく空白の文字列になります (アルファベット順で最初の文字が表示されるはずです)。
def frequent_char(text):
charset = ''.join(sorted(text))
maxcount = 0
maxchar = None
for item in charset.lower():
charcount = text.count(item)
if charcount > maxcount :
maxcount = charcount
maxchar = item
return maxchar
コード内でどのような間違いを犯しているのかわかりません。誰でも助けることができますか?