A collection of Python projects demonstrating various programming concepts and practical applications. This repository contains 9 different projects ranging from simple calculators to interactive quiz applications.
An interactive quiz game with multiple difficulty levels and question management.
Features:
- Three difficulty levels: Easy, Medium, Hard
- JSON-based question storage with automatic file creation
- Add custom questions dynamically
- Flexible answer matching (case-insensitive, multiple acceptable answers)
- Score tracking and accuracy calculation
- Review wrong answers after quiz completion
- Random question shuffling
Usage:
python quiz_app.pyA command-line calculator that performs basic arithmetic operations.
Features:
- Addition, subtraction, multiplication, and division
- Input validation and error handling
- Division by zero protection
- Interactive menu system
- Continuous calculation option
Usage:
python calculator.pyCreates animated GIFs from a series of PNG images.
Features:
- Combines multiple PNG images into a single GIF
- Customizable duration and loop settings
- Uses imageio library for image processing
Requirements:
pip install imageioUsage:
python create_gif.pyA personal finance management tool to track daily expenses.
Features:
- Add expenses with categories (Food, Transport, Entertainment, Utilities)
- View expense summaries
- Date range filtering
- CSV data storage
- Input validation
Requirements:
pip install pandasUsage:
python expense_tracker.pyA fun word guessing game with football team names.
Features:
- Random word selection from football teams
- Letter-by-letter guessing mechanism
- Limited attempts (10 tries)
- Visual word progress display
- Win/lose conditions
Usage:
python guess_game.pyGenerates QR codes for URLs or text content.
Features:
- Creates QR codes from text/URLs
- Customizable size and border settings
- Saves as PNG image
- Black and white color scheme
Requirements:
pip install qrcode[pil]Usage:
python qr_code.pyConverts Roman numerals to decimal numbers.
Features:
- Supports standard Roman numeral characters (I, V, X, L, C, D, M)
- Simple character-by-character conversion
- Interactive input system
Usage:
python roman_numerals.pyA simple task management application for organizing daily activities.
Features:
- Add new tasks
- View all tasks with numbering
- Delete specific tasks
- Input validation
- Interactive menu system
Usage:
python tdl_app.pyReal-time weather information fetcher using OpenWeatherMap API.
Features:
- Current weather data for any city
- Temperature in Celsius
- Weather description and conditions
- Error handling for invalid cities
- Multiple city lookup support
Requirements:
pip install requestsSetup:
You'll need to get a free API key from OpenWeatherMap and replace the api_key variable in the code.
Usage:
python weather_tracker.py├── quiz_app.py # Interactive quiz application
├── questions.json # Quiz questions database
├── calculator.py # Basic arithmetic calculator
├── create_gif.py # GIF creation from images
├── expense_tracker.py # Personal expense management
├── guess_game.py # Word guessing game
├── qr_code.py # QR code generator
├── roman_numerals.py # Roman to decimal converter
├── tdl_app.py # To-do list manager
├── weather_tracker.py # Weather information fetcher
├── imgs/ # Directory for images and generated files
└── README.md # This file
-
Clone the repository:
git clone <your-repository-url> cd python-projects
-
Create a virtual environment (recommended):
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install required dependencies:
pip install pandas imageio qrcode[pil] requests
-
Create necessary directories:
mkdir imgs
These projects demonstrate various Python concepts:
- Basic Programming: Variables, functions, loops, conditionals
- Data Structures: Lists, dictionaries, strings
- File I/O: Reading/writing CSV files, image handling
- Error Handling: Try-catch blocks, input validation
- API Integration: HTTP requests, JSON parsing
- Third-party Libraries: pandas, imageio, qrcode, requests
- User Interface: Command-line interfaces, menu systems
Feel free to fork this repository and submit pull requests for:
- Bug fixes
- Feature enhancements
- Code optimization
- Additional projects
- Documentation improvements
- Some projects require external libraries - make sure to install dependencies
- The weather tracker requires a valid API key from OpenWeatherMap
- Image files should be placed in the
imgs/directory for the GIF creator and QR code generator - Expense data is stored in
expenses.csvfile
Potential improvements for these projects:
- GUI interfaces using tkinter or PyQt
- Database integration for data persistence
- Web-based versions using Flask/Django
- Enhanced error handling and logging
- Unit tests for all functions
- Configuration files for settings
This project is open source and available under the MIT License.
Happy coding! 🐍✨