My daily Python learning projects.
- Day 1: Rock Paper Scissors game
- Day 2: Word Analyzer
- Day 3: Grocery List Manager
- Day 4: Tuples & Sets
- Day 5: Contact Book
- Day 6: Grade Calculator
- Day 7: FizzBuzz
- Day 8: 20 Small functions
- Day 9: Multi-Function Calculator
- Day 10: List Comprehensions exercises
- Day 11: File Handling & Log Writer & Student Database System using CSV & Pandas
- Day 12: Error Handling — try/except/finally + hardened Student Database
- Day 13: Error Handling — Grade Manager with full error handling, repair_file() & logging
- Day 14: Modules, Packages & pathlib — Grade Manager refactored into a package with pathlib
- Day 15: Library Management System with OOP — classes, init, self, JSON persistence
- Day 16: Library Management System extended — search_by_author(), list_available(), export_to_csv(), CSV re-import
- Day 17: Library Management System with OOP — inheritance & polymorphism, EBook & AudioBook subclasses, display_clean_data()
- Day 18: Library Management System with OOP — dunder methods (str, repr, lt), display_sorted() using object comparison
- Day 19: Decorators — @timer, @retry(n) decorator factory, @log_calls with logging module
- Day 20: Generators & Iterators — yield, lazy evaluation, generator pipelines
- Day 21: collections, datetime & type hints — Counter, defaultdict, deque, strptime, full type hints, log analyzer
- Day 22: NumPy — arrays, shapes, reshape, flatten, transpose, broadcasting, indexing, slicing
- Day 23: Weather Analyzer CLI — NumPy operations (argmax, argmin, np.where, mean), zone classification, timer context manager + logging
- Day 24: Pandas — indexing & filtering basics
- Day 25: CLI Data Explorer — Pandas filtering conditions
- Day 26: CSV File Data Cleaner
- Day 27: Two Panel Figure using matplotlib
- Day 28: 4 week revision
- Day 29: Test Analyser using pytest
- Day 30: Type hints — advanced + mypy
- Day 31: Mini EDA Project — Titanic
- Day 32: YAML & Bash Scripting — PyYAML, yaml.safe_load(), chmod, grep, pipes & bash automation
- Day 33: Environment Setup & Logging — venv, python-dotenv, os.getenv() & replacing print() with logging
- Day 34: Git Branching Workflow — Feature branches, merging, merge conflicts, git diff, git stash, git revert & git log --oneline --graph
- Day 35: Week 5 Review & LeetCode — Solved Valid Anagram (LeetCode #242) and Top K Frequent Elements (LeetCode #347) + GitHub Portfolio Setup
- Day 36: Mini Project (paused — resuming later)
- Day 37: Python requests library & APIs — requests.get()/post(), response.json(), status_code handling; called 2 public free APIs and saved results as JSON
- Day 38: Async/await basics. async def, await, asyncio.run(), asyncio.gather(). Wrote async function fetching 5 URLs with fake delays. Time it vs sync version
- Day 42: Light day. Solved Search in Rotated Sorted Array (P33). Red what Phase 2 covers.
- Day 43: Supervised vs unsupervised vs reinforcement. Mean, variance, std deviation, covariance, Pearson correlation. Toke notes and drew diagrams. Also Implement mean, variance, std, and Pearson from scratch using Python loops only. Verified answers against numpy.
- Variables & Data Types
- Strings & Methods
- Lists, Tuples, Sets, Dictionaries
- If/elif/else, For & While Loops
- Functions, *args & **kwargs
- List Comprehensions
- Lambda (map, filter, reduce)
- Closures
- File Handling (Read, Write, Append)
- CSV File Handling
- pathlib
- JSON config loading
- Exception Handling — try/except/finally, ValueError, FileNotFoundError
- Modules & Packages
- Classes & Objects, init, instance attributes, self keyword
- Inheritance, Polymorphism & Method Overriding
- Dunder Methods — str, repr, lt
- Decorators, functools.wraps, Decorator Factory pattern
- Generators & Iterators, yield keyword
- Context Managers — enter/exit
- Type Hints, mypy, pytest
- logging module — replacing print() with structured logs
- collections — Counter, defaultdict, deque
- datetime — strptime, strftime, timedelta
- YAML: PyYAML, yaml.safe_load(), yaml.dump()
- Bash Scripting: chmod +x, mkdir -p, grep, pipes (|), shell scripts
- Virtual Environments: python -m venv, environment activation
- Environment Variables: python-dotenv, load_dotenv(), os.getenv()
- Git & Version Control: Feature branches, merging (main → feature → merge → delete), git log --oneline --graph, git diff, git stash, git revert
- requests library — get(), post()
- Parsing JSON responses — response.json()
- Handling status codes
- Consuming public/free APIs & saving responses to JSON
- ndarray, shape, dtype, reshape, flatten, transpose
- Array math & broadcasting
- Boolean indexing & filtering
- np.random, np.where, np.argmax, np.argmin, np.mean
- read_csv, .head(), .info(), .describe(), .shape, .dtypes
- Indexing — .loc[] & .iloc[]
- Boolean filtering & multi-conditions (&, |)
- .value_counts(), .unique(), .nunique()
- .sort_values(), groupby, dropna, idxmax, idxmin
- .groupby().agg(), .pivot_table(), .fillna(), .dropna(), .duplicated(), .drop_duplicates()
- show, title, grid, legend, plot, xlabel, ylabel, savefig(), subplots
- bar, barh, reverse, style, xticks, tight_layout
- hist, axvline, use, linewidth, color
- scatter, s, c, edgecolor, marker, alpha, cmap, colorbar, set_label, xscale, yscale
- set_theme, load_dataset, relplot, displot, multiple, hue, kde, data
- heatmap, annot, cbar_kws