見出し画像

機能追加(6)単語プール

(Python学習初心者の試行錯誤・備忘録です)
実際に使ってみるといろいろ気づきがあります。

「記憶定着レベル」を最初「レベル0」から始めて、記憶定着が確認できるたびに「レベル上げ」していくやり方。これ、テスト段階で10~20個程度の単語リストで試す分には非常にうまく行っておりました。

・・よし、それじゃあ、1000個単語覚えるぞ、と大量の単語を投入して見たら困ったことになった。最初見た単語が覚えられなくて「まだ」ボタンをクリックして「流して」しまうと、次にその単語が表示されるのは、他の単語を一通り見た後、つまり「1000回後」なわけです。こりゃだめだ。
記憶定着のためには

これのように、同じ単語ばかり連続で出てきてもダメですが、かといってあまり間隔があき過ぎても効果がありません。特に「全く知らない単語」を覚える最初の段階では、ある程度短期間での反復が必要ですね。

 この件の対応として、
・一定数の単語をプールして、その中で繰り返し出題する
・「覚えた」でレベルが上がった単語はプールから除いて、新しい単語をプールに補充する。
というやり方に改造してみました。

    def poolL1(self,poolvalue:int) -> None:  #新規追加
        #poolvalue はL1にプールする数
        while self.mycards.select_count_where("level = 1") < poolvalue \
              and self.mycards.select_count_where("level = 0") > 0:
            #レベル1のプールデータが足りず、level0にはまだストックがあるなら
            self.pickupcard(0) #レベル0のカードを抽出し
            self.inc_level() #レベル1に移す

レベル0を「単語ストック」として、L1の個数が、「L1プール数」で指定した個数を下回った場合に補充するという処理を追加したわけです。
 学習者はL1からスタートします。覚えればどんどん新しい単語が「補充」されますが、覚えられなくても「単語ストック」が5なら、5回に1回は繰り返し表示される仕組みです。

この記事が気に入ったらサポートをしてみませんか?