Skip to main content

flash cards for language learners

Project description

flashcardz

What the program does

Flashcardz is used to aid in learning a foreign language, learning math tables, etc.. The program works by showing the word on each card, then its definition, to the user one-by-one. A tally is recorded for each word that the user correctly remembered the definition of. Cards are removed once the tally reaches a maximum value. (The word "Cards" actually means words and defintions that are stored in a file on the user's computer.)

The program runs from python's command line terminal. Use flashcardz primary function to show the cards:

>>> go()

Adding words words to your deck of cards is easy. Use flashcardz's add() fuction:

>>> add('correr', 'to run (to move quickly on two feet)')

Words and defintionions can also be imported from an Excel file.

Features

  • Cost: Free (as the wind).
  • Easy addition of words and defintions via copy and paste.
  • User can add links to urls into cards.
  • Can import words and definitions from an Excel file.
  • Deck of cards is shuffled before each viewing.
  • Score kept of number of times the word's definitions are correcty known.
  • Card automatically removed once max score has been reached.
  • Can highlight portions of text with underscores, italics, or colors.
  • flashcardz needs no supporting files. Only the basic python program is needed.

How to install

For this program to run, it requires both python and flashcards.py to be installed on your computer. By the way, both are free to install and use.

To install python, download the program from its home site, python.org. Then install it. Download version 3.8 or later.

To install flashcardz.py, open a Window's command prompt (how to open a command prompt, command prompt basics) and enter into the command prompt:

pip install flashcardz

This installs flashcardz on your computer. Pip is a program is automatically installed when python gets installed.

Pip (Preferred Installer Program) is used by python to manage python packages like flashcardz.py. You can use it to install python packages, uninstall them, or update them. There are various sites on the web that describe how to use pip. Among them is this site: How to use pip.

Here is how to update flashcardz to the latest version or uninstall it:

>>> pip upgrade flashcardz

>>> pip uninstall flashcardz

If you do not wish to use pip to install, there is an alternative method (requires an alternative method to start up flashcardz... see below). Download flashcardz from its home on github: github.com/kcarlton55/flashcardz. Click the "Code" button,and then pick "Download zip". In the zip file that you downloaded, look in the directory named src and look for the file named flashcardz.py. Install it in a directory of your chosing. (Python is still required to be on your computer in order to run flashcardz.)

How to run flashcardz

If you used pip to install flashcardz, open a command prompt (described above) and start up a session of python. In MS Windows, this is usually done by entering py. On other operating systems, enter python:

C:\Users\Ken> py
Python 3.12.2 (tags/v3.12.2:6abddd9, Feb  6 2024, 21:26:36) [MSC v.1937 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

In the above example, C:\Users\Ken> is the Windows command prompt that shows on my computer. It will be different on yours. When you execute py, python will show some information reguarding the python version you are using (i.e. Python 3.12.2 (tags, etc.) You can ignore this. Then python shows its prompt, i.e. a chevron (>>>), and then waits for you to enter a command. Enter your first command in order to load flashcardz into memory:

>>> from flashcardz import *

This imports a number of functions that can be used to control the flashcardz program including add(), cards(), and go(). Typing help(functions), help(go), help(cards) etc. will information about what a particular function does.

If you did not use pip to install flashcardz, and instead obtained it from github.com (described above), then do the following: open up a command prompt, i.e. a cmd window in the file location where flashcardz.py is located (Open Command Prompt in Current Folder or Directory) Then from the command prompt, do:

C:\Users\Ken> py -i flashcardz.py

The -i switch causes flashcardz to automatically open in interacive mode, i.e. opens the python termial for input.

To add data for flashcardz, run the add() function like this:

>>> add('amigo, amiga nm, nf', '(camarada) friend n buddy n')

That is, the structure should be add('my word', 'my definition'). Each time you use the add() function, the data you enter is added to a data file for later use. If you would like to add a multiline defintion, do so like this:

>>> add(''''amigo, amiga nm, nf''',
    '''(camarada) friend n buddy n

    Nuestro primer viaje, a Cuzco, lo organizamos entre cuatro amigos.
    We organized our first trip, to Cuzco, among four friends.

    [how to pronounce](https://www.wordreference.com/es/en/translation.asp?spen=amigo)''')

You'll notice, to enter a multiline definition, use three quotation marks, ''', at the beginning and the end of the word and definition. Don't forget to close the function by adding a prenthesis at the end. When you run the go() function, the defintion above will show as six different lines, including blank lines. Also note: it is not necessary to type all this data in manually. The easiest thing to do is to copy and paste from the site that has a dictionary for the language you are learning.

Notice the last line in the defintion. It is a URL link. URL links are inserted into a word's definition using brackets and parenthesis using the format [link description](URL)

When you're ready to view the cards one-by-one, and ready to try to figure out the definition of each word, run the go() function:

go()

When the go() function is run, it automatically opens up the data file that contains your words and definions so that the information from it can be presented to you. When the go() function completes its task, tallies are updated, and if that maximum tally for any word has been reached, that card is removed from the deck

When you want to exit python, enter either quit() or exit() or Ctrl+D (or quit or exit for python 3.13 and up):

quit()

Convert an Excel file to a flashcardz data file

Words and definitions can be created in an Excel and then exported to a text file that flashcardz can open and read. First, in cells A1 and B1 of the Excel file enter the column headers. Use as column headers "word" and "definition" (without the quotation marks) for these two cells. In subsequent rows, 2, 3, etc. put your words and their defintions.

Now you are ready to export to a text file. The text file must be in a format called csv. If you are not aware of this file format, please see this explanation: Comma-separated values Futhermore UTF-8 character encoding is required. In Excel, when you do a Save As, look for "CSV UTF-8 (Comma delimitd)(*.csv)". (However, read on... a bug exists.)

There is a problem using the normal way that Excel exports to a csv file. The csv file that Excel exports to will have columns (i.e. the word and defintion columns) separated by commas. But many times, like shown in the "add" example above, commas will be present in the definition. This will result in flashcardz interpreting that data as having additional columns; columns that shouldn't exist. This will cause the flashcardz program to crash.

To remedy this situation, flashcardz was instead coded to recognize the pipe, i.e. vertical bar character, |, as the separator (more specifcally called a delimiter). Excel was somewhat poorly designed because Excel does not allow to change to a different delimiter when exporting. But there is a relatively easy work-around. See this youtube video for how to do it: Export Data with Pipe Delimiters Instead of Commas

Opening a flashcardz data file into Excel

Opening a flashcardz data file into Excel is relatively easy. When you open a flashcardz data file (with a csv or txt extension), you will be given the option to use a different delimiter other than a comma. Use the vertical bar character, also called a pipe, |, as a delimiter.

When you import your flashcardz data file into Excel, you will see that the flashcardz program has modified the data slightly by adding and additional, the tally column.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flashcardz-0.3.0.tar.gz (31.1 kB view details)

Uploaded Source

Built Distribution

flashcardz-0.3.0-py3-none-any.whl (31.1 kB view details)

Uploaded Python 3

File details

Details for the file flashcardz-0.3.0.tar.gz.

File metadata

  • Download URL: flashcardz-0.3.0.tar.gz
  • Upload date:
  • Size: 31.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.5

File hashes

Hashes for flashcardz-0.3.0.tar.gz
Algorithm Hash digest
SHA256 7c090b9e7d8c161850c02a92a29e79374103e60cdbd8b3a4a01e3aed91ec38d1
MD5 a204c308bced455e22e1f1a894863440
BLAKE2b-256 76d64ab7b7afe4771de12df47d2bf073b55c156d15756f010aa3205d68237296

See more details on using hashes here.

File details

Details for the file flashcardz-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: flashcardz-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 31.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.5

File hashes

Hashes for flashcardz-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f2e605bd75a031d1ac1ac21d2348978f185a7968bb04b50cc4b554a2830cdeaa
MD5 24df660395cdaa4718b0589673c299ea
BLAKE2b-256 44571cdc0503a22e3917cb9ce21b16e86b30140dccad223c456612386114ac1c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page