つぶやき

ぶつぶつと、難しいことをやさしく、やさしいことを深く、 深いことを面白く
  • rss
  • Home
  • Ubuntu
    • インストール
    • ソフト一覧
    • 情報リンク
    • Ubuntu履歴
    • 用語集
    • その他Ubuntu
  • Twitter
    • Twitterソフト
  • ソフト
    • ソフト用語集
  • 490円スマホ
  • Mint
    • MintにXAMPPをインストール
    • Linux Mint xfce

3分で自作する簡易的な英単語暗記ソフトPython3

お茶ノ湯博士 | 2017年5月13日

Python3で英単語暗記ソフトを作成してみた。
Pythonの基本的な知識があれば、10〜15分程度でイチから作成できそうだ。
下記をコピーすれば3分程度で作成可能だ。
OS が Linux であれば、エディタさえあればPythonでソフト開発ができる。

つぶやき python3 自作英単語暗記ソフト

python3 自作英単語暗記ソフト

tango.py

#!/usr/bin/python3.5
# -*- coding: utf-8 -*-

import time
import tkinter as tk

a = [‘rain’, ‘snow’, ‘hail’, ‘drizzle’, ‘sleet’, ‘shower’, ‘mist’, ‘fog’, ‘cloud’, ‘rainbow’, ‘wind’]
b = [‘雨’,’雪’,’ひょう’,’霧雨’,’みぞれ’, ‘にわか雨’, ‘霧’, ‘濃霧’, ‘雲’, ‘虹’, ‘風’]
word_len = len(a)

class Frame(tk.Frame):
  def __init__(self, master=None):
    tk.Frame.__init__(self, master)
        
    self.count = 0
    self.e_j = 1
    self.sleep_1 = 2  # 上段表示時間
    self.sleep_2 = 1  # 下段表示時間
    self.fr_t()
    self.fr_show()
  
  # フレーム表示
  def fr_t(self):
    self.master.geometry(‘600×100’) # フレーム枠(よこ×たて)の大きさ
    self.master.title(‘つぶやき’) # タイトル名
    self.master.resizable(0,0) # フレーム枠サイズ変更禁止

  # 上段表示
  def fr_writeA(self, m_text):
    string = (‘ ’ * 80)
    tk.Message(text=string, font=(‘Helevetica’, 16), width=400).place(x=20, y=20)
    tk.Message(text=string, font=(‘Helevetica’, 16), width=400).place(x=20, y=50)
    tk.Message(text=m_text, fg=’black’,font=(‘Helevetica’, 16), width=400).place(x=20, y=20)

  # 下段表示
  def fr_writeB(self, m_text):
    tk.Message(text=m_text, fg=’black’,font=(‘Helevetica’, 16), width=400).place(x=20, y=50)

  # 表示
  def fr_show(self):
  
    if self.e_j == 1: # 上段表示
      self.fr_writeA(a[self.count])
      time.sleep(self.sleep_1)
    else: # 下段表示
      self.fr_writeB(b[self.count])
      time.sleep(self.sleep_2)
      self.count += 1
    
    self.e_j *= -1
    if self.count == word_len:
      self.count = 0
    
    self.after(100, self.fr_show)

if __name__ == ‘__main__’:
  root = Frame()
  root.mainloop()

 

self.sleep_1、self.sleep_2 で表示時間を設定可能。

応用として
単語をCSVファイル化し、起動時に読み込む。
self.count = random.randint(0, (word_len – 1) ) でランダム表示する。
sorted関数のreverse を使えば、逆順に表示できる。

from espeak import espeak (import tkinter as tk の前後)
espeak.synth(a[self.count]) (self.fr_writeA(a[self.count])の前後)
の2行を追加するだけで、読み上げながら単語を表示する。

tk.Label でなく tk.Message を使用したのは英文として表示した場合、2行以上表示の利便性を考慮したため。

他、プログラムを解読すれば、多機能化できる。

Good luck!

《 注意 》
コピーしても、正常に動作しない。
本プログラムのスペースは全角なので、各行をエディターでインデント処理(タブ置換え)が必要。

Tweet
Categories
python, ソフト
Comments rss
Comments rss

« pythonで効率的にアプリを作るコツ 組み込み関数ってなんだ?Python »

Leave a comment

You can use these tags : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

CAPTCHA
Refresh

*

email confirm*

post date*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

支援

義援金
●日本赤十字
●赤い羽根共同募金
●被災地の子どもへの支援

ボランティア
●AAR Japan
●ボランティアプラットホーム
●YAHOOボランティア

国連
●国連UNHCR協会

復興組織
●DRIジャパン

最近の投稿

  • 東日本大震災から2023年1月11日で12年10ヶ月
  • Joomla 4が公開されました
  • Linux Mint 20が公開されました
  • ウイルスの次にやってくるもの|日本赤十字社
  • pythonでtoto予測AIソフト作成、4等当たりまくり!
  • 平成から令和へ新しい時代になりました
  • Linux Mint 19 “Tara” Xfce が公開されました
  • Linux Mint19 BETAが公開されています
  • Ubuntu18.04LTSがリリースされました
  • pukiwiki1.5.xにLightboxを導入する

アルバム

48
b_aurora002
cloudy
p1020531
p1030405
thunder

カテゴリー

  • CMS
  • python
  • Ubuntu
    • Mint
    • ソフト
  • Windowsソフト
    • sakura
  • エクササイズ
  • エコ
  • スマートフォン
  • つぶやき
  • ハード
  • ホームページ
  • 天気
  • 災害・支援
  • 私の一冊
  • 車
  • 音の風景

タグ

Android Drupal fedora firefox Geeklog Gwenview Java joomla Lubuntu MediaWiki Mint Modx mozc Notecase PHP Pukiwiki python sakura Ubuntu Xoops ウォーキング スポーツ ネットバンク 天気 家電 映画 本 登山 睡眠 語学 音の風景

アーカイブ

2017年5月
月 火 水 木 金 土 日
1234567
891011121314
15161718192021
22232425262728
293031  
« 4月   6月 »
rss Comments rss valid xhtml 1.1 design by jide powered by Wordpress get firefox