blog.dopana

Back

プログラマーのみなさん、おかえりなさい! 📖

前のレッスンでは、番号がついた仕切り(012…)にアイテムを入れるリスト(バックパック)を学びました。でも、番号ではなくて「言葉」で情報を調べたいときはどうすればいいかな?

例えば、スーパーヒーローの特技を調べたいとき、ソニックが何番の仕切りにいるかを推測したくはないですよね。シンプルに “ソニック” と検索して、直接 “超スピード” という答えを取り出したいはずです!

Pythonでは、これを 「辞書(Dictionary)」 を使って行います!

辞書ってなに?(秘密の住所録)#

辞書は、住所録や電話帳のようなものだと考えてみてね。

  • キー(Key):検索に使う名前や言葉(連絡先の名前)。
  • 値(Value):そのキーに対応する秘密の情報や数字。
graph LR
    subgraph Dictionary ["📖 superpowers = {...}"]
        Key1["🔑 'ソニック'"] --> Value1["💬 '超スピード'"]
        Key2["🔑 'マリオ'"] --> Value2["💬 'スーパージャンプ'"]
        Key3["🔑 'ルイージ'"] --> Value3["💬 'ハイジャンプ'"]
    end

Pythonでは、波カッコ { } を使い、キーと値をコロン : でつなげて辞書を書きます:

superpowers = {
    "ソニック": "超スピード",
    "マリオ": "スーパージャンプ",
    "ルイージ": "ハイジャンプ"
}
python

情報を調べる(住所録を開く)#

値を調べるときは、辞書の名前の後に角カッコ [ ] を書いて、その中にキーの名前を入れます:

print(superpowers["ソニック"])  # ロボットはソニックを検索して「超スピード」と表示します ⚡
python

住所録を書き換える(追加と削除)#

本物の住所録と同じように、新しい連絡先を追加したり、特技を更新したり、削除したりできます。

1. 情報を追加・更新する#

新しいヒーローを追加するには、角カッコの中に新しいキーを書き、イコールで特技をセットします:

superpowers["ヨッシー"] = "何でも食べる"
print(superpowers)  # 辞書にヨッシーが追加されました! 🦖
python

マリオがパワーアップして特技が変わったときも、全く同じ方法で上書きできます:

superpowers["マリオ"] = "ファイアボール発射"
python

2. 情報を削除する (del)#

連絡先を消したいときは、del(delete = 削除する の略)コマンドを使います:

del superpowers["ルイージ"]
# ルイージは住所録から消去されました! 💨
python

自分でやってみよう! 🎮#

Pythonの画面を開いて、ペットの鳴き声データベースを作ってみよう:

コードを実行して、データベースが正しく更新されるか確かめてみてね!

おめでとうございます! これで全10回の子供向けプログラミングシリーズが完結しました。きみはプログラミングの最も大切な基本をすべてマスターしました。画面へのおしゃべり、記憶、条件分岐、ループ、関数、リスト、お絵描き、ユーザー入力、ランダム、そして辞書。これで自分だけのゲームを作る準備はバッチリです! 🚀🎮

参照#