Skip to content

Pauline-Oraro/60-Days-Of-Python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

126 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐍 60 Days of Python Challenge

A self-imposed commitment to learn and practice Python every single day for 60 days.

Python Progress Status


👋 Welcome

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.


🎯 Objectives

  • 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

🗂️ Repository Structure

The repo is organized into numbered folders, one per day. The first 27 days cover core concepts, while Days 28–60 are dedicated projects.


📚 Core Concepts (Days 1–27)

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 📁

🚀 Projects (Days 28–60)

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 📁

📈 Progress Tracker

60 / 60 days completed 🎉

Core Concepts  ████████████████████████████  Days 1–27  ✅
Projects       ████████████████████████████  Days 28–60 ✅

🛠️ Technologies & Libraries Used

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

⚙️ How to Run the Projects

  1. Clone the repository

    git clone https://github.com/Pauline-Oraro/60-Days-Of-Python.git
    cd 60-Days-Of-Python
  2. Create and activate a virtual environment (recommended)

    python -m venv venv
    source venv/bin/activate      # macOS/Linux
    venv\Scripts\activate         # Windows
  3. Install dependencies (for projects that need them)

    pip install requests beautifulsoup4 pandas qrcode flask
  4. Navigate to any day's folder and run the script

    cd 28_WEBSITE_CHECKER_PROJECT
    python main.py

💡 Key Learnings

  • 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

📬 Connect

If you're on a similar journey or want to share feedback, feel free to open an issue or reach out on GitHub!


Releases

No releases published

Packages

 
 
 

Contributors