This repository contains small Python projects created while learning and practicing Python programming.
The projects focus on understanding Python fundamentals, practicing problem-solving, and implementing common programming concepts manually.
calculator.py is a command-line calculator that supports:
- Addition
+ - Subtraction
- - Multiplication
* - Division
/ - Floor division
// - Modulo
% - Exponentiation
^ - Roots
sqrt
The calculator also handles invalid mathematical cases such as:
- Division by zero
- Negative numbers under roots
- Zero raised to a negative exponent
to_do_list.py is a command-line to-do list project created to practice Python programming.
The project is being developed as part of the learning process and will gradually include more features and Python concepts.
The abobakr_data directory contains a custom Python library developed as part of the Python learning process.
The library contains manually implemented functions for practicing Python fundamentals and understanding how common operations work internally.
It currently includes functionality for:
- Input handling and validation
- Integer and floating-point conversion
- String processing
- Calculating lengths
- Calculating sums and averages
- Generating ranges
- Reversing sequences
- Converting lists, tuples, and sets
- Set operations
- Recreating
zip()-like operations - Basic pseudo-random number generation
Some functions intentionally recreate functionality that already exists in Python.
The purpose is not to replace Python's built-in functions, but to understand the concepts behind them by implementing similar behavior manually.
The main purpose of this repository is learning and practice.
The code may not always use the most advanced, optimized, or Pythonic approach. Some implementations are intentionally written from scratch even when Python already provides a built-in solution.
This repository represents my progress while learning Python, experimenting with different programming concepts, and building small projects.
The library is primarily being developed as part of my Python learning process. Once I finish learning Python, I plan to stop actively developing the library.
- Python
- Command-line interface
- Custom Python modules
- Python standard library
.
├── calculator.py
├── to_do_list.py
└── abobakr_data/
└── abobakr_data/
├── __init__.py
└── ...
The projects and library intentionally contain manually implemented solutions for concepts that can normally be handled using Python's built-in functionality.
This approach is used for educational purposes to gain a deeper understanding of Python fundamentals, algorithms, data structures, and basic programming concepts.