This is a simple flashcard application built using Python's tkinter for GUI and pandas for data manipulation. The purpose of this application is to help users learn French vocabulary through an interactive flashcard approach. π«π·β¨
- π Flashcards display French words with English translations after a delay.
- β User can mark words they know, which removes them from the vocabulary list to focus on unfamiliar words.
- πΎ Saves user progress between sessions so that previously learned words do not reappear.
- Run the Python script to launch the application.
- π The app will display a flashcard with a French word.
- β± After 3 seconds, the flashcard will automatically flip to show the English translation.
- β If you know the word, click the "check" button. The word will be removed from the vocabulary list.
- β If you do not know the word, click the "cross" button, and it will appear again in future sessions.
- π Your progress will be saved automatically in
data/words_to_learn.csv.
- π Python 3.x
- The following Python libraries:
tkinterpandasrandom
To install the necessary libraries, you can use:
pip install pandas- π Clone the repository to your local machine.
- β
Ensure that the
datafolder contains thefrench_words.csvfile with vocabulary words to start. - πΌ Ensure the
imagesfolder contains the following images:card_front.png(flashcard front image)card_back.png(flashcard back image)wrong.png(button image for unknown words)right.png(button image for known words)
βΆοΈ Run the script:python flashy.py
- data/french_words.csv: π Contains the list of French words with their English translations.
- data/words_to_learn.csv: βοΈ Updated by the application with words that are still to be learned.
- images/: πΌ Contains all image files used in the application.
- The application makes use of
tkinterfor creating the GUI,pandasfor manipulating CSV data, andrandomfor selecting words randomly. - next_card(): π Displays a new French word.
- flip_card(): π Flips the card to reveal the English translation.
- is_known(): π Removes the current word from the learning list and updates the progress.
Feel free to fork this repository, make improvements, and create pull requests. Your contributions are welcome! π
This project is licensed under the MIT License. π
