Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

🐍 Python Practice

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.

🎯 Purpose

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.


📚 Project Roadmap

The long-term goal is to complete 100 Python projects, progressing from simple programs to more practical and intermediate-level applications.

Current Progress

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


🚀 Current Project

001 — Simple Calculator

A command-line calculator built using Python and Object-Oriented Programming.

Features

  • Addition
  • Subtraction
  • Multiplication
  • Division
  • Power calculation
  • Square root
  • Logarithm
  • Exponential calculation
  • Calculation history
  • Error handling
  • Interactive command-line interface

Python concepts practiced

  • Classes and objects
  • Constructors
  • Instance attributes
  • Methods
  • Dictionaries
  • Functions as dictionary values
  • Loops
  • Conditional statements
  • Exception handling
  • math module
  • User input
  • Lists
  • String formatting

Run the calculator with:

python 001_calculator.py

🧠 Learning Philosophy

The goal of this repository is not simply to collect working programs.

For each project, I aim to:

  1. Understand the problem.
  2. Design a solution before coding.
  3. Write the code myself.
  4. Debug errors independently.
  5. Improve the code after it works.
  6. Learn from mistakes.
  7. Document what I learned.
  8. Move gradually toward more complex projects.

The objective is to build the habit of coding, not just the habit of reading code.


📈 Difficulty Progression

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

🧪 Scientific & Biology 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.


🛠️ Requirements

Most projects are intended to work with a modern version of Python 3.

Check your Python installation:

python --version

Some future projects may require additional Python packages. When that happens, the required packages will be documented separately.


📁 Repository Structure

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 Tracking

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

🤝 Contributions

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.


📜 License

This project is licensed under the MIT License.

See the LICENSE file for details.


👨‍💻 Author

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. 🐍

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages