Welcome to this collection of 20 beginner-friendly Python projects! This repository contains hands-on projects designed to help me and you learn Python programming through practical applications.
# | Project Name | Description | Key Concepts |
---|---|---|---|
01 | Email Sender | Send emails programmatically using Python | SMTP, email library, automation |
02 | Word Replacement Program | Replace words in text files | File I/O, string manipulation |
03 | Basic Calculator | Simple calculator with basic operations | Functions, user input, arithmetic |
04 | Email Slicer | Extract username and domain from email | String methods, validation |
05 | Binary Search Algorithm | Implement binary search algorithm | Algorithms, recursion, lists |
06 | Quiz Program | Interactive quiz application | Dictionaries, loops, conditionals |
07 | QR Code Generator | Generate QR codes from text | External libraries, image processing |
08 | Internet Payment Calculator | Calculate internet usage costs | Mathematical operations, user input |
09 | Random Password Generator | Generate secure random passwords | Random module, string manipulation |
10 | Dice Rolling Simulator | Simulate dice rolls | Random numbers, loops, functions |
11 | Site Connectivity Checker | Check if websites are accessible | HTTP requests, error handling |
12 | Currency Converter | Convert between different currencies | APIs, JSON, data processing |
13 | Leap Year Checker | Determine if a year is a leap year | Conditionals, mathematical logic |
14 | Word Dictionary | Look up word definitions | APIs, JSON, data structures |
15 | Rock Paper Scissors | Classic game implementation | Game logic, user input, randomization |
16 | Python Face Detection | Detect faces in images | OpenCV, computer vision |
17 | Python Automation | Automate repetitive tasks | OS operations, file handling |
18 | Web Scraper | Extract data from websites | BeautifulSoup, requests, HTML parsing |
19 | Image Resizer | Resize images programmatically | PIL/Pillow, image processing |
20 | Graph Plotter | Create various types of graphs | Matplotlib, data visualization |
- Python 3.7 or higher installed on your system
- Basic understanding of Python syntax
- Text editor or IDE (VS Code, PyCharm, etc.)
-
Clone this repository:
git clone https://github.com/khabzox/20-beginner-py-projects.git cd 20-beginner-py-projects
-
Create a virtual environment (recommended):
python -m venv venv
-
Activate the virtual environment:
- Windows:
venv\Scripts\activate
- macOS/Linux:
source venv/bin/activate
- Windows:
-
Install required dependencies for each project as needed (check individual project READMEs)
Each project is contained in its own directory and typically includes:
main.py
- The main Python scriptREADME.md
- Project-specific documentationrequirements.txt
- Python dependencies (if applicable)- Additional files as needed
Start with these if you're new to Python:
- Email Sender
- Word Replacement Program
- Basic Calculator
- Email Slicer
- Binary Search Algorithm
- Quiz Program
- QR Code Generator
Move to these once you're comfortable with basics:
- Internet Payment Calculator
- Random Password Generator
- Dice Rolling Simulator
- Site Connectivity Checker
- Currency Converter
- Leap Year Checker
- Word Dictionary
Challenge yourself with these projects:
- Rock Paper Scissors
- Python Face Detection
- Python Automation
- Web Scraper
- Image Resizer
- Graph Plotter
Some projects may require additional Python packages. Install them using pip:
# For web-related projects
pip install requests beautifulsoup4
# For image processing
pip install Pillow opencv-python
# For data visualization
pip install matplotlib pandas
# For QR codes
pip install qrcode[pil]
# For GUI applications
pip install tkinter
- Choose a project that matches your current skill level
- Navigate to the project directory
- Read the project-specific README.md
- Install any required dependencies
- Run the main.py file
- Experiment and modify the code to learn more
- Start small: Begin with simpler projects and gradually work your way up
- Read the code: Understand what each line does before running
- Experiment: Modify the code and see what happens
- Debug: Don't be afraid of errors - they're learning opportunities
- Document: Add comments to help you remember what you learned
- Practice: Try to recreate projects from memory
Feel free to contribute by:
- Adding new beginner-friendly projects
- Improving existing code
- Fixing bugs
- Enhancing documentation
- Adding more detailed explanations
This project is open source and available under the MIT License.
If you have questions or need help:
- Check the individual project READMEs
- Review the code comments
- Search for solutions online
- Practice debugging skills
These projects are designed to provide hands-on experience with Python programming. Each project focuses on different aspects of the language and practical applications.
Happy Coding! πβ¨
Remember: The best way to learn programming is by doing. Start with any project that interests you and begin your Python journey!