今、私のフラッシュカードゲームは辞書 スケーラブルな一連の定義と用語のペアをどのようにモデル化できますか?
- はにそれらをひとまとめ用語の週間分のための用語と翻訳を定義
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 +はいの質問なしで痛みになることは間違いありません。私は現時点でcursesを読んでいて、すべての説明を一度に印刷し、ユーザーがラウンドのために勉強したいものすべてを選択させることを考えていました。
私のコードのこの部分をより良く維持する方法を教えてください。誰もが根本的なオーバーホールをしているわけではありません。
ありがとうございます。私はこれを調べて、単純な学習支援のためにPythonの世界を残すという考えは嫌いですが、私は[this](http://www.python.org/workshops/1997-10/ proceedings/shprentz.html)、これは私が探していたものです(それは過剰です)。 – Droogans