Hello!
This repository contains Python projects I’ve built while learning and practicing Python — from beginner fundamentals to intermediate, object-oriented programs.
The goal of this repo is to:
- Strengthen Python fundamentals
- Practice problem-solving and logic
- Build small but complete programs from scratch
- Progress from procedural code to clean OOP design
Simulates an online ordering system.
Concepts: if/elif/else, f-strings
Online ticketing simulation that produces different outputs based on user input.
Concepts: conditional logic
Choose-your-own-adventure style game using nested conditionals.
Concepts: nested if/elif
Simple lottery simulator.
Concepts: random module
User defines the range for random number generation.
Coin toss simulation.
Concepts: random, logical operators
User vs computer Rock–Paper–Scissors game.
Concepts: lists, conditionals, random
Same game with a different logic structure.
Lottery/roulette simulation.
Concepts: lists, append, random
Experiments with list modification.
Further practice with lists and nested lists.
Classic FizzBuzz challenge.
Concepts: for loops, conditionals
Generates passwords based on user preferences.
Concepts: loops, lists, random
Simulates dice rolls and tracks how often 6 appears.
Text-based Hangman game.
Concepts: loops, lists, booleans, random
Revised version with ASCII art and external resources.
Resource file:hangman_resources.py
Encrypts/decrypts messages using Caesar Cipher logic.
Concepts: functions, loops, conditionals
Converts numerical grades into descriptive grades.
Concepts: dictionaries
Simulates a blind auction and determines the highest bidder.
Concepts: dictionaries, loops
Calculator that supports chained operations.
Concepts: functions, dictionaries, loops
Resource file:calcu_resources.py
Blackjack game against a computer dealer.
Concepts: functions with returns, loops, lists, conditionals
Checks whether a number is prime.
Concepts: scope, functions
Guess a number between 1–100 with limited attempts.
Concepts: loops, conditionals
Resource file:number_guess_resources.py
Improved version using multiple functions and constants.
Guess which option has more followers.
Concepts: dictionaries, functions, loops, random
Resource file:higher_lower_data.py
A command-line coffee machine simulation.
Features:
- Espresso / Latte / Cappuccino selection
- Resource management (water, milk, coffee)
- Coin processing & change handling
- Profit tracking
- Report & refill commands
- Safe checks for insufficient resources or money
Concepts Used:
- Nested dictionaries
- State management
- Control flow
- Input validation
- Debugging logic & indentation
Visual drawing project using Python’s turtle module.
Concepts: OOP, loops, angles, randomness, graphics
Simple table output using the PrettyTable package.
Concepts: third-party packages, classes, object methods
A command-line coffee machine simulation rebuilt using Object-Oriented Programming (OOP).
Features:
- Espresso / Latte / Cappuccino selection
- Ingredient resource tracking (water, milk, coffee)
- Coin-based payment system
- Change handling
- Profit tracking
- Report & shutdown commands
OOP Design:
- MenuItem – Represents a single drink
- Menu – Manages available drinks
- CoffeeMaker – Handles resources & preparation
- MoneyMachine – Processes payments
- main.py – Controls program flow
Concepts Used:
- Object-Oriented Programming (OOP)
- Classes & objects
- State management
- Multi-file project design
A command-line True/False quiz engine built using Object-Oriented Programming.
Features:
- Dynamic question loading from external data
- Question-by-question progression
- Case-insensitive answer checking
- Real-time score tracking
- Final score summary
Project Structure:
- Question – Represents a single question
- QuizBrain – Manages quiz flow, scoring, and logic
- main.py – Controls program execution and looping
Concepts Used:
- Object-Oriented Programming (OOP)
- Classes & objects
- Boolean logic
- While loops & state control
- Multi-file Python project architecture
A Python Turtle project that dynamically generates and overlays multiple regular polygons with randomized RGB colors. This project demonstrates mathematical angle calculation, nested loops, and basic generative art techniques.
Features
Draws polygons from 3 sides (triangle) to 10 sides (decagon)
Automatically calculates turning angle using: angle = 360 / number_of_sides
Applies a random RGB color to each shape
Overlays all polygons from the same starting position
Animates the drawing process using Turtle speed control
Concepts Used:
- Nested loops
- Mathematical geometry (360° rule)
- RGB color generation
- Randomization
- Turtle graphics
- Programmatic shape generation
Core Logic
Outer loop:
- Controls number of sides (3–10)
Inner loop:
- Draws one complete polygon
A structured random walk visualization built using Python Turtle Graphics. This project expands on turtle movement by introducing directional constraints and dynamic color mapping based on distance from the origin.
Features
- Grid-based random walk (0°, 90°, 180°, 270°)
- Prevents immediate 180° reversals (no jitter backtracking)
- Distance-based RGB heatmap scaling
- Smooth gradient from green (center) to red (outer range)
- Distance clamping to control gradient sensitivity
- Modular function design (
color()anddirect()) - Persistent center marker overlay
Concepts Used
- Geometry (Pythagorean distance formula)
- Scaling values into RGB range (0–255)
- List filtering & control logic
- Pure functions and modular design
- Separation of simulation logic and UI elements
- Procedural art principles
Visual Logic
- 🟢 Green → Near origin
- 🟡 Yellow → Mid-range
- 🔴 Red → Far from origin
The turtle's color dynamically updates after each move based on its distance from the center, creating a heatmap-style procedural visualization. This project demonstrates progression from basic turtle graphics to structured movement systems and behavior-based visual rendering.
This repository documents my progression from beginner Python fundamentals to intermediate object-oriented programming and structured, multi-file project design.