Windowsで動く、DUO3.0復習用アプリを作ってみました。
復習アプリで記憶を強化しよう
DUO3.0で欠かせないのが「復習」です。日本語の例文を読んで、瞬時に英語が口から出るように繰り返しの音読が必要です。
アプリ作成の経緯
ところが、その例文の数が560個、SECTIONが45個もあります。各セクションは政治や国際情勢、旅行など、分野別に分けられているので学習する上では便利に構成されています。
しかし、どの日本語でもすぐ英語が口から出てくるようになるためには、ランダムに例文が表示されたほうが効果が高いのではないかと思い、このアプリを作ってみることにしました。
アプリのダウンロードと操作方法
下のリンクをクリックしてアプリをダウンロードしてください。
ダウンロードした ‘DUO3.0復習アプリ.zip’ を開くと、以下のようにアプリが一つだけ入っています。
下準備
このアプリを使うためには、DUO3.0の例文を表計算ソフトで入力する必要があります。下の図の書式で例文を入力していってください。
作成した例文は ‘xlsx形式’で保存し、下の図のようにアプリと同じフォルダーに入れます。ファイル名は必ず ‘DUO30.xlsx’ にしてください。
本来であれば例文をすべて入力した表をお配りできればいいのですが、著作権法違反になるのは明らかなので、勉強だと思って入力してください。
DUO復習用CDについてくる小冊子をOCR処理して、文章だけコピーしようとしたのですが、直接キーボードから入力したほうが早かったです。キーボード入力が不得意な方は、OCR処理したほうが早いかもしれません。
英語と日本語合わせて1120文ありますが、すべてを入力し終えなくてもアプリは動きますので、入力が終わった分だけでも復習することができます。
実際の運用方法例
逆に言えば、使い方の一つとしてすべての例文を入力する必要はありません。完全に英訳できる例文は表に入力せず、あいまいだったり不得意な例文だけを入力してアプリを使うこともできます。
実際560文すべてを1回の復習で終わらせるのは不可能なので、15SECTIONごとに3つの票を作り、日によって使い分けるのもいいかもしれません。
アプリの操作方法
’DUO30.exe’を開くとウインドウが開き、ランダムに選ばれた日本語と [OK] が表示されます。
Enterキーを押すか [OK] をクリックすると、対応する英文が表示されます。
Enterキーを押すか [OK] をクリックすると、ランダムに選ばれた次の日本語が表示され、あとはこの繰り返しです。
黒いウインドウの右上にある [X]ボタンをクリックすると、アプリが終了します。
レイアウトのデザインはどうかと思ったのですが、黒いバックのほうが長時間の学習でも集中できるのではないかと思いこのままにしてあります。
このアプリは ChatGPT に作ってもらったプログラムコードを元に、Google で調べながら手直ししたものです。私はプログラマーではないので、どうやって動いてるのかまったくわかりません。プログラムや動作がおかしいことに関する質問には答えられませんので、この点はご容赦ください。
一応プログラムコードは下に載せておきますので、著作権は放棄しませんがご自由に改変していただいて結構です。
<Python>
import random
import sys
sys.path.append(‘C:\\Users\\~\\Lib\\site-packages’)
import TkEasyGUI as ega_font = (“メイリオ”, 14)
b_font = (“Arial”, 14)
file_name = “DUO30.xlsx” # 拡張子を含めてファイル名を指定
df = pd.read_excel(file_name)# B列とC列のデータを取得
b_column = df.iloc[0:560, 1].tolist() # B列の英語
c_column = df.iloc[0:560, 2].drop_duplicates().tolist() # C列の日本語# メイン処理
while True:
# C列の重複のないランダムな日本語を抽出
random_c = random.choice(c_column)
# 元のDataFrameから行数を取得
row_index = df[df.iloc[0:560, 2] == random_c].index[0] + 1 # 行数は1から始まるため+1
#日本語の表示とフォントの指定
words = random_c
layout = [
[eg.Text(words, font=a_font)],
[eg.Button(“OK”)]
]window = eg.Window(“DUO3.0復習アプリ”, layout)
while True:
event, values = window.read()
if event in [“OK”, eg.WINDOW_CLOSED]:
break
# close window
window.close()
# C列の日本語のインデックスを取得
# 元のDataFrameから行数を取得
row_index = df[df.iloc[0:560, 2] == random_c].index[0] + 1 # 行数は1から始まるため+1
index = c_column.index(random_c)
# B列の同じ行の英語を表示とフォントの指定
test = b_column[index]
layout = [
[eg.Text(test, font=b_font)],
[eg.Button(“OK”)]
]
window = eg.Window(“DUO3.0復習アプリ”, layout)
while True:
event, values = window.read()
if event in [“OK”, eg.WINDOW_CLOSED]:
break
# close window
window.close()
まとめ
AI の進歩で素人でも簡単なアプリくらいは作れるような時代が来たんですね。あとは学習に専念するだけです。