[Python]プログラムを勉強しながら英語も勉強する-実践編

[Python]プログラムを勉強しながら英語も勉強する-実践編

こんにちは。
今回は前回記事にした準備編の続きです。
↓前回記事

[Python]プログラムを勉強しながら英語も勉強する-準備編

やること

今回行うのは実際に集めた英単語を基に問題を出題してみようというものです。
イメージ

↑イメージはこんな感じで出された英語に合う日本語を選択して、
合否を出力する感じです。

とは言いつつもいきなりGUIから実装していくのは難しいので、
今回はコンソールですべて行います。
次の記事あたりでGUI化を行い、より勉強する環境を整えます。

準備

今回必要なモジュールは以下です。
sqlite3
random
sys

そして、前回記事で取得した.sqliteのDBファイルです。
前回の記事を見るのがめんどくさい方はこれを使ってください。
EnglishWords.sqlite

コード

では実装したコードを紹介します。

わかりやすいようにコードを書きました。
なるべく、関数分けして疑似構造体も使ってみました。
では実行結果を見てみましょう。

一応、コンソール入力時に最低限のエラー回避処理は入れておきました。

解説

まずこれは構造体を作っています。
C言語でいうstructのようなものです。
これに出題する英単語や日本語を格納しています。

続いてOutRndItem関数ですが、
random.randint(A,B)で整数値のAからBまでの値をランダムに返してくれます。
ランダムで返された数字をlist_itemから索引して正解の英単語として格納しています。

ここで問題の選択肢となるものを作っています。
if int_rndnum != int_temNumで正解が複数でないように処理しています。

続いては入力コンソールです。
input()で入力待ち状態となり、.isdecimal()で整数かどうかを判断しています。

まとめ

すっごくちゃっちぃですが、これで問題形式のプログラムは作成できました。
後はこれをGUI化すれば、本格的な運用ができるかなと思います。

Pythonカテゴリの最新記事