英単語の暗記カードアプリを作成しました
前回の略語暗記カード(略語の暗記カードアプリを作成しました - ぽっけの技術ブログ)を応用し、英単語暗記カードのようなコンソールアプリケーションを作成しました。
TOEIC勉強などに利用できます。
ダウンロード
使い方
flashcardsForEnglish.pyを実行すると同階層のeng.csvを読み込み、ランダムで英単語を出題します。
Enter
で答えが表示されます。
自分が思ったのが合っていたら]
→Enter
、
わからなかった、または間違っていたらそのままEnter
を押します。
一周するまでわからなかった問題がランダムで出題されます。
また完全に覚えた単語は:
→Enter
すると、次の周回や起動時も二度と出題されなくなります。
<サンプル2>
単語帳ファイルについて
単語帳ファイルeng.cvs(UTF-8、BOM付き)は、[英単語],[日本語訳],[出題フラグ]の形式のCSVファイルです。
サンプルとしてTOEIC~約800点相当の英単語・イディオムを約1400語入れていますが、編集・追記が可能です。
出題フラグが1
のもののみが出題され、完全に覚えた単語は出題フラグが0
に変わります。
ソースコード
import csv import random if __name__ == '__main__': while True: with open('eng.csv', encoding='UTF-8_sig') as f: reader = csv.reader(f) l = [] write = [] left = 0 for row in reader: if len(row) != 0: l.append(row) write.append(row) if row[2] == '1': left += 1 print('全 ' + str(left) + ' 問') print('"]":わかった! ":":覚えた!') while True: i = random.randint(0, len(l) - 1) if l[i][2] != '1': continue print(l[i][0]) input() print(l[i][1]) command = input() if command.lower() == ']': print(' ( -`ω-)✧ わかった!') del l[i] left -= 1 print('------------------------残り ' + str(left) + " 問") elif command.lower() == ':': print('゚+。:.゚ヾ(≧∇≦*)/ 覚えた!.:。+゚') left -= 1 print('------------------------残り ' + str(left) + " 問") for row in write: if row[0] == l[i][0]: row[2] = '0' l[i][2] = '0' break with open('eng.csv', 'w', encoding='UTF-8_sig', newline='') as f: writer = csv.writer(f) writer.writerows(write) else: print('◆◆◆◆◆◆◆◆ (・_・)わからん……◆◆◆◆◆◆◆◆') print('------------------------') if left == 0: print(' 旦_(-ω- ,,)一周しました。') print('') break
所感
今回もシンプルな実装とシンプルな機能を目指して作りました。
前回の略語暗記カードを少し改造して英単語暗記カードを作ろうとしましたが、正確に日本語訳を入力しなければならないのは使っていて面倒なので、このような脳内判定形式にしました。
また単語数が1400語以上と膨大になったので、完全に覚えた単語は二度と出題しない機能を付けました。