現在我的燒錄卡的遊戲使用prepvocab()
方法,我如何建模一組可擴展的定義/術語對?
- 定義了一個星期的價值方面的術語和翻譯的字典
- 補充說,本週的術語的說明,
- 混爲一談他們進入用戶選擇他們的「周」來研究的字典列表
每次我添加一個新的一週的條款和翻譯,我堅持增加另一個元素到可用字典的列表。我絕對可以看到這不是一件好事。
class Vocab(object):
def __init__(self):
vocab = {}
self.new_vocab = vocab
self.prepvocab()
def prepvocab(self):
week01 = {"term":"translation"} #and many more...
week01d = "Simple Latvian words"
week02 = {"term":"translation"}
week02d = "Simple Latvian colors"
week03 = {"I need to add this":"to self.selvocab below"}
week03d = "Body parts"
self.selvocab = [week01, week02] #, week03, weekn]
self.descs = [week01d, week02d] #, week03, weekn]
Vocab.selvocab(self)
def selvocab(self):
"""I like this because as long as I maintain self.selvocab,
the for loop cycles through the options just fine"""
for x in range(self.selvocab):
YN = input("Would you like to add week " \
+ repr(x + 1) + " vocab? (y or n) \n" \
"Description: " + self.descs[x] + " ").lower()
if YN in "yes":
self.new_vocab.update(self.selvocab[x])
self.makevocab()
我可以肯定地看到,這將是一個痛苦與20 +是的沒有問題。我現在正在閱讀詛咒,並且正在考慮立即打印所有的描述,並讓用戶挑選他們想要爲這一輪學習的所有內容。
如何更好地維護我的代碼的這部分?任何人都得到徹底的改革,不是那麼......程序性的?
謝謝你的建議。我研究過這個,儘管我不喜歡把Python世界作爲一個簡單的學習輔助工具的想法,但我確實發現[this](http://www.python.org/workshops/1997-10/) proceedings/shprentz.html),這正是我正在尋找的(授予它是矯枉過正)。 – Droogans