投稿してない期間が続いてしまい申し訳ないです。
今回は久しぶりに、テスト期間に地味に役に立った自作ソフトを紹介します。
また、間違えた問題だった場合、「次週に再表示」を押すことで、2週目に突入し、全問正解するまで繰り返し練習できます。
このプログラムを作成するにあたって必要なのは「プログラム」と「文ファイル」です。
まず、プログラムは以下の通りです。
import wx import random class MyFrame(wx.Frame): def Next(self, event=None): tmp = self.english[self.num].replace("\n","").replace(".","").split() random.shuffle(tmp) for t in tmp: self.now = self.now + "/" + t self.label_english.SetLabel(self.now) self.now = "" self.label_japanese.SetLabel(self.japanese[self.num]) def onButton(self, event=None): if self.jotai == 0: self.jotai = 1 self.button.SetLabel("次へ") self.button1.Enable() self.label_english.SetLabel(self.english[self.num]) elif self.jotai == 1: self.jotai = 0 self.num += 1 if self.num >= len(self.japanese): self.label_english.SetLabel("ご苦労様でした。") self.label_japanese.SetLabel("このレッスンは終了しました。") self.button.SetLabel("終了") self.button1.Disable() self.jotai = 2 else: self.button.SetLabel("答え表示") self.button1.Disable() self.Next() elif self.jotai == 2: self.num = 0 self.now = "" self.jotai = 0 self.Destroy() def onReButton(self, event = 0): self.english.append(self.english[self.num]) self.japanese.append(self.japanese[self.num]) self.button1.Disable() def __init__(self): self.japanese = [] self.english = [] self.num = 0 self.now = "" self.jotai = 0 wx.Frame.__init__(self, None, -1, "English", size=(650, 300)) panel = wx.Panel(self, -1) file = open("sentence.dat","r", encoding="UTF-8") data = file.readlines() file.close() i = 0 for t in data: if i % 2 == 0: self.japanese.append(t) else: self.english.append(t) i += 1 self.label_english = wx.TextCtrl(panel, -1, "", pos=(10, 10),size = (600, 60), style=wx.TE_READONLY) self.label_japanese = wx.StaticText(panel, -1, "",pos=(10, 80)) font = wx.Font(12, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, underline=False, faceName="メイリオ", encoding=wx.FONTENCODING_DEFAULT) self.label_english.SetFont(font) self.label_japanese.SetFont(font) self.button = wx.Button(panel, -1, "答え表示", pos = (10, 130), size=(200, 40)) self.button.Bind(wx.EVT_BUTTON, self.onButton) self.button.SetFont(font) self.button1 = wx.Button(panel, -1, "次週に再表示", pos = (220,130), size=(200, 40)) self.button1.Bind(wx.EVT_BUTTON, self.onReButton) self.button1.SetFont(font) self.button1.Disable() self.Next() if __name__ == "__main__": app = wx.App(False) MyFrame().Show() app.MainLoop()
続いて文ファイルです。
ここはご自身で書いていただく必要がでてきます。今回はサンプルとして、以下を提供します。ファイル名は「sentence.dat」にして保存してください。
群馬県は東北地方の一部です。 Gunma is part of the Tohoku area. 山形県民は常にさくらんぼを食べています。 Yamagata residents are always eating cherries. 静岡県ではお茶以外に飲むものがありません。 In Shizuoka, there is nothing else to drink tea. 青森県民はりんごに飽きています。 Aomori residents are tired of apples. 福井県は日本人に認知されていますか? Is Fukui well known among Japanese people?
以上、実行するとスタートできます。
一応、英文についてはCpilotさんに確認してもらいましたが、結構指摘をくらいました。
0 件のコメント:
コメントを投稿