A personal Python programming practice repository focused on rebuilding and strengthening programming skills through hands-on projects.
This repository is part of my long-term goal of becoming more comfortable with writing Python code from scratch, solving programming problems, and gradually developing better software-development habits.
The main purpose of this repository is consistent coding practice.
Rather than only studying Python concepts theoretically, I am using small projects to practice:
- Problem solving
- Python syntax
- Functions
- Object-Oriented Programming
- Data structures
- Exception handling
- File handling
- Algorithms
- Automation
- APIs
- Data processing
- Writing cleaner and more maintainable code
The projects will gradually become more challenging as my skills improve.
The long-term goal is to complete 100 Python projects, progressing from simple programs to more practical and intermediate-level applications.
| Project | Name | Status |
|---|---|---|
| 001 | Simple Calculator | ✅ Completed |
| 002–100 | Upcoming Projects | ⬜ Not Started |
The complete 100-project roadmap and progress tracker can be found in:
python-100-projects-progress.md.pdf
A command-line calculator built using Python and Object-Oriented Programming.
- Addition
- Subtraction
- Multiplication
- Division
- Power calculation
- Square root
- Logarithm
- Exponential calculation
- Calculation history
- Error handling
- Interactive command-line interface
- Classes and objects
- Constructors
- Instance attributes
- Methods
- Dictionaries
- Functions as dictionary values
- Loops
- Conditional statements
- Exception handling
mathmodule- User input
- Lists
- String formatting
Run the calculator with:
python 001_calculator.pyThe goal of this repository is not simply to collect working programs.
For each project, I aim to:
- Understand the problem.
- Design a solution before coding.
- Write the code myself.
- Debug errors independently.
- Improve the code after it works.
- Learn from mistakes.
- Document what I learned.
- Move gradually toward more complex projects.
The objective is to build the habit of coding, not just the habit of reading code.
The projects will gradually move through:
Python Fundamentals
↓
Conditionals & Loops
↓
Functions
↓
Data Structures
↓
File Handling
↓
Object-Oriented Programming
↓
Modules & Error Handling
↓
APIs & Data Processing
↓
Automation
↓
Intermediate Projects
Some projects will also be related to biology and scientific data because Python can be particularly useful for scientific programming.
Possible future projects include:
- DNA sequence analyzer
- GC-content calculator
- Reverse complement generator
- Codon translator
- FASTA file reader
- Mutation analyzer
- Protein sequence analyzer
- Scientific data processor
- Population growth simulator
- Biological data visualization
These projects will combine programming practice with scientific applications.
Most projects are intended to work with a modern version of Python 3.
Check your Python installation:
python --versionSome future projects may require additional Python packages. When that happens, the required packages will be documented separately.
The repository will gradually develop into a structure similar to:
python_practice/
│
├── README.md
├── LICENSE
├── 001_calculator.py
│
├── 002_...
├── 003_...
├── ...
│
└── python-100-projects-progress.md.pdf
As the number of projects increases, projects may be organized into topic-based folders.
Progress will be tracked using the 100-project roadmap.
The target is:
100 projects → 100 programming challenges → continuous improvement
Each completed project represents another opportunity to practice:
- Writing code
- Debugging
- Problem solving
- Refactoring
- Documentation
- Git/GitHub workflow
This is primarily a personal learning repository.
However, suggestions, constructive feedback, improvements, and interesting project ideas are welcome.
If you notice a bug or have a better approach, feel free to open an issue or discussion.
This project is licensed under the MIT License.
See the LICENSE file for details.
Sunil Mandloi
GitHub: @sunilnarayan419-ui
⭐ This repository is a record of my Python learning journey — from small programs to larger projects.
One project at a time. One bug at a time. One improvement at a time. 🐍