【Python辞書で歴史(日本史)のお勉強】辞書(連想配列)を使って年号をキーに出来事を値にする

この記事では、もうすぐ入試なので、受験生の方にお役だて頂けたらと思い、入試に良く出る日本史年号の辞書(連想配列)をPythonで作って、ループで取り出してみたり、年号を入力すると出来事が出力される様にしてプログラミングを使って歴史の復習をしました。

サイトマップはこちらから

Python自作サンプル集へ
これからプログラミングを学ぶ方へ
プログラミングと資格へ
基本情報技術者試験トップへ
自己紹介

Pythonの進捗状況(私のロードマップ)

まずは、こんな感じの辞書を作ります。

#年号をキーに出来事を値にした辞書を作成
exam={607:'小野妹子ら遣隋使派遣',
720:'日本書紀の編纂',
1086:'白河上皇の院政始まる',
1221:'承久の乱',
1338:'室町幕府の成立',
1588:'刀狩り',
1603:'江戸幕府の成立',
1709:'新井白石の政治',
1837:'大塩平八郎の乱',
1853:'ペリー来航',
1877:'西南戦争',
1902:'日英同盟'}

参考にした歴史のウェブサイトはこちらになります。

では、これをループで取り出してみます。

#年号をキーに出来事を値にした辞書を作成
exam={607:'小野妹子ら遣隋使派遣',
720:'日本書紀の編纂',
1086:'白河上皇の院政始まる',
1221:'承久の乱',
1338:'室町幕府の成立',
1588:'刀狩り',
1603:'江戸幕府の成立',
1709:'新井白石の政治',
1837:'大塩平八郎の乱',
1853:'ペリー来航',
1877:'西南戦争',
1902:'日英同盟'}

print()

#ループでキーと値を取り出す
for year,event in exam.items():
    print(str(year)+'年には「'+event+'」がありました。')

今度は標準入力で年号を入力すると出来事がリストで表示される様に致します。

print()

#指定の年を標準入力とリストで出力する
print('年号を半角数字で入れて下さい。>>>',end='')
nen=int(input())
print('その年には【'+exam[nen]+'】がありました。')

上記のコードを加えて、上の一覧にある年から好きな年号を標準入力で入力します。
実行結果です。

この例では1338と入力すると、「室町幕府の成立」と出力されました。
私自身は私立理系ということもあって、日本史チンプンカンプンなのですが、急に歴史の勉強をする必要が出てきたので、プログラミングを使って勉強します。

学生時代あれだけ苦手だった歴史も、プログラミングで勉強すると楽しいですね。
では、今までのコードです。

#年号をキーに出来事を値にした辞書を作成
exam={607:'小野妹子ら遣隋使派遣',
720:'日本書紀の編纂',
1086:'白河上皇の院政始まる',
1221:'承久の乱',
1338:'室町幕府の成立',
1588:'刀狩り',
1603:'江戸幕府の成立',
1709:'新井白石の政治',
1837:'大塩平八郎の乱',
1853:'ペリー来航',
1877:'西南戦争',
1902:'日英同盟'}

print()

#ループでキーと値を取り出す
for year,event in exam.items():
    print(str(year)+'年には「'+event+'」がありました。')

print()

#指定の年を標準入力とリストで出力する
print('年号を半角数字で入れて下さい。>>>',end='')
nen=int(input())
print('その年には【'+exam[nen]+'】がありました。')

オミクロンとか流行っていますけれど、体調にお気をつけて、「手洗い・うがい・歯磨き・歯間ブラシで歯の隙間の掃除、もう一回歯磨き」をして、除菌して、徹底して頑張って下さい。

最後までお読み頂きありがとにゃん(=^x^=)

■ 参考文献の紹介 ■
じっくり丁寧にPythonを学びたい方向けの書籍を紹介します。

Pythonを基礎から中級程度まで丁寧に学びたい方におすすめの書籍です。
まずはpaizaラーニングなどの学習コンテンツで1〜2巡(苦手な所は納得がいくまで何巡でも)してからこの本で学ぶと、自分の学習状況をブログなどでアウトプット出来るようになり、また、エラーなどの不明点を調べられる力もついていきます。

サイトマップはこちらから

Python自作サンプル集へ
これからプログラミングを学ぶ方へ
プログラミングと資格へ
基本情報技術者試験トップへ
自己紹介

Pythonの進捗状況(私のロードマップ)

プログラミングのアンケートにご協力頂ける方はこちらのフォームで勉強法など色々と教えて下さい。