英単語が学習できるコンソールアプリをPythonで作成してみよう。
10種類の動物が日本語が表示されるので英単語入力すると正解が表示される。
10問終わると結果が出力される。
実行例
ぞう>>elephant 正解! しろくま>>sirokuma 不正解!しろくまの英単語はpolarbear くじら>>whale 正解! ペンギン>>penguin 正解! カンガルー>>kangaroo 正解! ライオン>>lion 正解! ひと>>human 正解! いぬ>>dog 正解! ねこ>>cat 正解! あり>>ant 正解! 全10問中9問正解
解答例
# クイズデータ
data = {
"ぞう": "elephant",
"しろくま": "polarbear",
"くじら": "whale",
"ペンギン": "penguin",
"カンガルー": "kangaroo",
"ライオン": "lion",
"ひと": "human",
"いぬ": "dog",
"ねこ": "cat",
"あり": "ant"
}
# 正解数カウンター
correct_count = 0
# クイズの実行
for ja, eng in data.items():
ans = input(f"{ja}>>")
if ans == eng:
print("正解!")
correct_count += 1
else:
print(f"不正解!{ja}の英単語は{eng}")
# 結果の表示
print(f"全{len(data)}問中{correct_count}問正解")
ポイント
○せっかくPythonで行うのであれば、その軽快さを活かしながらコーディングしていきたい。今回は10種類の単語をディクショナリを使って表した。
とても文字数が少なくコーディングできるのはPythonの魅力の一つだ。
◯ループ部分
for ja, eng in data.items():
items()
メソッドは、辞書のすべてのキーと値のペアをタプルのリストに変換する。
[
("ぞう", "elephant"),
("しろくま", "polarbear"),
("くじら", "whale")
]
これにより、各ループでタプルが取り出されるので、それをアンパックして、変数jaとengに代入し、ループ内の処理を行っている。
コメント