← クエスト一覧

クエスト68:文字の出現回数を数えよう

スライド 1 / 5
コーデ
💻 コード例
実行結果
← クエスト一覧
🐍 Python / Quest 68 / 85

クエスト68:文字の出現回数を数えよう

応用 +10 XP
🏠
今回の課題
'banana' の各文字が何回出てくるかを数えて、アルファベット順に「文字: 回数」で表示しよう。
📖 解説を見る
📊 文字の出現回数を数えよう!

辞書を使うと、各文字が何回出てくるかを数えられます。

✏️ 数え方の考え方:
空の辞書を用意して、1文字ずつ見ながら「その文字の回数」を1ずつ増やしていきます。
ただし初めて出てきた文字は、まだ辞書にキーがありません。そこで .get(キー, 0) を使うと「無ければ 0」が返るので、if で「初回かどうか」を分けなくても、いつでも「いまの回数 + 1」を入れ直すだけで済みます。

📋 作るもの:
text の文字を1つずつ for でまわす
counts に「その文字: 出てきた回数」を入れていく(すでにあれば +1、初めてなら 1)
text と空の counts、そして下の表示ループは書いてあるので、数える部分だけ作ればOK
'banana' なら a: 3 / b: 1 / n: 2 の3行になる

💡 どこで使う?

「数え上げ(集計)」はデータ処理の基本です。単語の出現回数、アンケートの回答数、ログのアクセス数など、何かの個数を数える場面はとても多く、counts.get(キー, 0) + 1 はその超定番イディオムです。

⚠️ ポイント:
.get(c, 0) はキーが無ければ 0 を返す(初回でもエラーにならない)
sorted(辞書.items()) でキーの順(ここではアルファベット順)に並ぶ
ヒントを見る
for で1文字ずつ取り出して、counts のその文字の回数を1増やそう。.get(文字, 0) は「まだ無ければ 0」を返すので、それに 1 を足した値を入れ直せばいいよ。
期待する出力
a: 3
b: 1
n: 2
📄 見本
「答えを見る」を押すと、お手本のコードが出ます。クリックでコピーできます。
💻 コードエディタ
実行すると結果がここに表示されます
正解!見本と同じになりました。
次へ →
🏠 ホームへ

れんしゅうもんだい

☑ 0 / 3 正解 レッスンに戻る

全問正解でクエストクリア!

未挑戦

問題 1: 'hello'の各文字の出現回数をアルファベット順に表示しよう!

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
e: 1 h: 1 l: 2 o: 1
未挑戦

問題 2: 'programming'で最も多く出てくる文字と回数を表示しよう!

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
g: 2
未挑戦

問題 3: 'mississippi'の各文字の出現回数をアルファベット順に表示しよう!

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
i: 4 m: 1 p: 2 s: 4
コピーしました!