Skip to content
This page has been auto-translated and may contain errors.View in English

title: フラッシュカード学習アプリ description: JSONファイルから読み込んだフラッシュカードのデッキを学習し、セッション間でスコアを追跡します。

フラッシュカード学習アプリ

Zee ねえ、6週間後に推進システムの試験があるんだ。自分でテストすることで学ぶのが得意なんだけど、フラッシュカードアプリ作ってくれない?ファイルからカードを読み込んで、表を見せて、答えを入力して、正解かどうか教えてくれる。そして進捗を保存したいから、前回の続きから始められるようにしてほしい。お願い🙏

何を作るか

Deck: python-basics.json (12 cards)

Front: len()が文字列に対して返すものは?
Your answer: 文字の個数
Correct!

Front: input()が常に返す型は?
Your answer: int
Incorrect. The answer is: str

---
Session complete: 8/12 correct.
Progress saved.

必要なもの

ヒント

クラスではなくデータから始めましょう。 カードは2つの文字列:表と裏です。デッキはカードのリストです。これが動作してから、必要に応じてクラスでラップするとインターフェースがきれいになります。

JSONでファイル形式を処理します。 json.load()はファイルをPythonのリストか辞書に読み込みます。json.dump()で書き込みます。jsonモジュールは標準ライブラリに含まれています。

ファイル読み込みをtry/exceptでラップします。 スクリプトの初回実行時には保存ファイルが存在しません。FileNotFoundErrorをキャッチすることで、クラッシュせずに空のデッキで開始できます。

さらに進める

コア学習ループが動作したら:

  • 不正解をもう一度。 プレイヤーが間違えたカードを追跡して、セッションの終わりにもう一度ループします。
  • 複数のデッキ。 フォルダ内の利用可能な.jsonファイルをリストアップして、どのデッキを学習するか選択できるようにします。
  • 間隔反復。 各カードが正解した回数を記録します。正解した回数が少ないカードをより頻繁に表示します。