A python randomized flashcard system, for studying, where the more often you answer a question correctly the less often it shows up.
Pull request Compare This branch is 7 commits ahead of idboehman:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


SQL issues are fixed.  Table names can no longer contain non alpha-numeric characters.  :]


qaw (questions and answers weighted) is a simple flashcard system where the more times you answer a question correctly, the less often it shows up....

*note* This was written for python 2.x and may not work on 3.x

I've been working my way through the interview process at Facebook since yesterday when I was contacted by a recruiter.  As a result I'm scrambling to jog my memory about the aspects of linux system administration that I've not used in a while.  I also felt like brushing up on my Python.  This is the result.

I've written the command line version this afternoon with a full GTK2 version to come.  It simply reads text files formatted as ['Question','Answer'] line by line and loads them into a sqlite database.  You can update question sets and mix and match them at will before you begin a quizzing session.

To start a quizzing session just load the tables/QASets that you want and press 'y' at the prompt.  It will randomly  shuffle questions and append their 'confidence level' after each answer is shown according to whether or not you say you were correct.  The random selection process is weighted so that the more times you answer a question correctly the less likely it is to show up again (and visa versa).  Pretty neat huh?  

Hopefully it was an afternoon well spent.  Time to study; wish me luck!  :)



optional arguments:
  -h, --help            show this help message and exit
  -s, --show-sets       List existing QA sets
  -d DROP_SETS, --drop-sets DROP_SETS
                        Delete QA sets (<set1>:<set2>:...:<setn>)
  -l LOAD_SETS, --load-sets LOAD_SETS
                        Load existing sets. (i.e. <set1>:<set2>:...:<setn>)
  -a ADD_SETS, --add-sets ADD_SETS
                        Load question/answer sets from text files.