A self-imposed commitment to learn and practice Python every single day for 60 days.
This repository documents my journey of learning and mastering Python over 60 days through consistent practice, real-world problem solving, and mini-projects. Each folder contains the code and notes from that day's lesson — starting from the very basics and progressing all the way to GUI apps and games.
- Build a strong foundation in Python fundamentals
- Improve problem-solving and logical thinking skills
- Develop practical, real-world mini-projects
- Stay consistent with daily coding practice
- Explore Python's ecosystem — from data analysis to web development to GUIs
The repo is organized into numbered folders, one per day. The first 27 days cover core concepts, while Days 28–60 are dedicated projects.
| Day | Topic | Description | Link |
|---|---|---|---|
| 01 | Introduction | Python setup, running your first script, print(), comments |
📁 |
| 02 | Variables | Declaring variables, naming conventions, dynamic typing | 📁 |
| 03 | Data Types | int, float, str, bool, None — and type checking with type() |
📁 |
| 04 | Strings | String methods, slicing, f-strings, multiline strings | 📁 |
| 05 | Operators | Arithmetic, comparison, logical, assignment, and bitwise operators | 📁 |
| 06 | Lists | Creating, indexing, slicing, and modifying lists; list methods | 📁 |
| 07 | Tuples | Immutable sequences, tuple unpacking, when to use tuples vs lists | 📁 |
| 08 | Dictionaries | Key-value pairs, dictionary methods, nested dicts | 📁 |
| 09 | Conditionals | if, elif, else, ternary expressions, nested conditions |
📁 |
| 10 | Loops | for and while loops, break, continue, pass, loop-else |
📁 |
| 11 | Functions | Defining functions, parameters, return values, *args, **kwargs |
📁 |
| 12 | Modules | Importing built-in and custom modules, math, random, os |
📁 |
| 13 | Range | range() in loops, list conversion, step values |
📁 |
| 14 | Iterators | iter(), next(), building custom iterators, StopIteration |
📁 |
| 15 | Error Types | TypeError, ValueError, IndexError, KeyError and more |
📁 |
| 16 | Dates | datetime module — creating, formatting, and comparing dates |
📁 |
| 17 | Exception Handling | try, except, else, finally, raising custom exceptions |
📁 |
| 18 | Regex | Regular expressions with re — matching, searching, substituting |
📁 |
| 19 | File Handling | Reading/writing files, with statement, CSV basics |
📁 |
| 20 | PIP | Installing packages with pip, requirements.txt, pip freeze |
📁 |
| 21 | Classes | OOP in Python — classes, objects, __init__, inheritance, methods |
📁 |
| 22 | Web Scraping | requests + BeautifulSoup to extract data from web pages |
📁 |
| 23 | Virtual Environments | venv — creating isolated Python environments for projects |
📁 |
| 24 | Statistical Analysis | statistics module — mean, median, mode, standard deviation |
📁 |
| 25 | Pandas | DataFrames, Series, reading CSVs, filtering, and basic data analysis | 📁 |
| 26 | Web Development | Intro to Flask — routes, templates, running a local web server | 📁 |
| 27 | APIs | Making HTTP requests with requests, working with JSON responses |
📁 |
| Day | Project | Description | Link |
|---|---|---|---|
| 28 | Website Checker | Checks whether a list of URLs are reachable using HTTP requests | 📁 |
| 29 | Step Counter | Tracks daily steps and calculates progress toward a goal | 📁 |
| 30 | Text Formatter | Applies formatting transformations (uppercase, title case, etc.) to text | 📁 |
| 31 | Check Char Type | Classifies characters as letter, digit, whitespace, or special | 📁 |
| 32 | Grade Calculator | Takes scores as input and outputs letter grades with GPA calculation | 📁 |
| 33 | Word Scrambler | Randomly scrambles letters in words for a word puzzle game | 📁 |
| 34 | Music Recommender | Recommends songs/genres based on user mood or preferences | 📁 |
| 35 | Random Name Generator | Generates random names by combining first and last name lists | 📁 |
| 36 | Reverse Name Generator | Reverses and transforms names in creative ways | 📁 |
| 37 | Vowel Counter | Counts vowels in a given string or text input | 📁 |
| 38 | Coin Flip Game | Simulates coin flips and tracks heads/tails streaks | 📁 |
| 39 | Recipe Generator | Suggests recipes based on available ingredients | 📁 |
| 40 | Color Mixer | Mixes two RGB colors and displays the resulting blend | 📁 |
| 41 | Guess The Word | Classic word guessing game with hints and limited attempts | 📁 |
| 42 | Guess The Number | Player guesses a randomly chosen number with higher/lower feedback | 📁 |
| 43 | Countdown Timer | A command-line countdown timer with a completion alert | 📁 |
| 44 | Calculator | Performs basic arithmetic operations from user input | 📁 |
| 45 | Related Word Game | Player finds words related to a given category or theme | 📁 |
| 46 | Memory Sequence | Repeat an increasingly long sequence of items from memory | 📁 |
| 47 | Rock Paper Scissors | Play Rock Paper Scissors against the computer | 📁 |
| 48 | Task Manager | Add, view, complete, and delete tasks in a CLI to-do list | 📁 |
| 49 | Simple Chatbot | Rule-based chatbot that responds to common greetings and questions | 📁 |
| 50 | Word Counter | Counts total words, unique words, and most frequent words in text | 📁 |
| 51 | Currency Converter | Converts between currencies using exchange rates | 📁 |
| 52 | Password Generator | Generates strong random passwords with custom length and character rules | 📁 |
| 53 | Quiz Game | Multiple-choice quiz with scoring and answer feedback | 📁 |
| 54 | Pomodoro Timer | Productivity timer alternating between 25-minute work and 5-minute break sessions | 📁 |
| 55 | Tkinter Hello World | First GUI window built with Python's built-in tkinter library |
📁 |
| 56 | Tkinter Calculator | Fully functional GUI calculator with buttons built using tkinter |
📁 |
| 57 | Drawing App | A canvas-based drawing app where you can sketch with your mouse | 📁 |
| 58 | Adventure Game | Text-based adventure game with branching story choices | 📁 |
| 59 | Snake Game | Classic Snake game built with tkinter — eat, grow, don't crash! |
📁 |
| 60 | QR Code Generator | Generates QR codes from URLs or text using the qrcode library |
📁 |
60 / 60 days completed 🎉
Core Concepts ████████████████████████████ Days 1–27 ✅
Projects ████████████████████████████ Days 28–60 ✅
| Category | Tools |
|---|---|
| Core Language | Python 3.x |
| Data & Analysis | pandas, statistics |
| Web | requests, BeautifulSoup, Flask |
| GUI | tkinter |
| Utilities | datetime, re, os, random, math |
| Packaging | pip, venv |
| Other | qrcode, string, time |
-
Clone the repository
git clone https://github.com/Pauline-Oraro/60-Days-Of-Python.git cd 60-Days-Of-Python -
Create and activate a virtual environment (recommended)
python -m venv venv source venv/bin/activate # macOS/Linux venv\Scripts\activate # Windows
-
Install dependencies (for projects that need them)
pip install requests beautifulsoup4 pandas qrcode flask
-
Navigate to any day's folder and run the script
cd 28_WEBSITE_CHECKER_PROJECT python main.py
- Python's simplicity makes it incredibly powerful — from one-liners to full GUI apps
- Consistent daily practice compounds fast: 60 days from
print("Hello")to a Snake game - Building real projects is the best way to solidify concepts learned in theory
- Python's standard library is enormous — you can do a lot before installing anything extra
If you're on a similar journey or want to share feedback, feel free to open an issue or reach out on GitHub!