Skip to main content

三分鐘教你/妳自製閃光卡

· 3 min read

你 / 妳是否是去死去死團的一員?在這個充滿閃光與柴可夫斯基 1812 序曲的節日,有種暫時失明的感覺?

為了對抗這個節日,我們就來自製閃光卡吧!

這個閃光卡製作的方法,就是寫個單詞記憶程式,並把這個單詞記憶程式命名為 閃光卡 (FlashCard) (* 註) XD

寫一個簡單的記憶程式不用花太多時間:我們只需要一個詞庫,與一個用作檢視與複習詞條的介面。

> #!/usr/bin/python
> # -*- coding: utf-8 -*-
>
> deck = [("a","apple"),
> ("b", "boy"),
> ("c", "cat"),
> ("d","dog")] #詞庫,包含4筆詞條
>
> import random
>
> help = "commands: Fail/Lucky/Quit" #支援的命令
>
> while True:
> card = random.choice(deck) # 從詞庫裡挑一個詞條,如 ('d', 'dog')
> which = random.choice(card) # 從詞條裡挑一個詞,如 ('d', 'dog') 中挑 'd' 或 'dog'
>
> print which #顯示詞
> print card[0], card[1] #印出完整答案
>
> action = raw_input("> ").lower() #輸入命令
> if action == "q": #按其他鍵繼續,按q就跳出迴圈
> break
> if "f" in action or "l" in action: #忘記時的處理策略
> print "...recorded."
> deck.append(card) #多加本詞條入詞庫中,以提升被選中的頻率
> if "h" in action:
> print help #印出說明
>

進一步修改參考:

  • 若要用作英文學習的話,不只前項 (英文)、後項 (中文解釋),也許還要一欄音標。

  • 詞庫應該要可以抽換

  • 詞庫應該要可以合併使用 (應該支援多詞庫)

  • 要用更有效的學習模式,如sm2

  • 應該可以用圖片代替文字,以做到支援「音標」等效果。參考資料

  • flashcard

  • Simple flashcard program in Python

* 註:英文中, flashcard 就是單詞記憶卡的意思。