Skip to content

About

My Python learning journey through Angela Yu’s 100 Days of Code bootcamp, featuring daily exercises, games, and projects—from fundamentals to object-oriented programming.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

100 Days of Code: Python Learning Journey

Python Learning Progress Status

A growing collection of Python exercises and projects documenting my progress through 100 Days of Code — The Complete Python Pro Bootcamp by Dr. Angela Yu.

From a band name generator to interactive games and a coffee machine simulation, this repository tracks the transition from basic Python syntax to larger programs and an introduction to object-oriented programming.

Problem Statement

Learning programming requires more than understanding individual concepts: it requires combining them into programs that accept input, make decisions, manage data and produce useful results. My goal is to build those skills through daily exercises and small projects, keeping the code available as a record of my learning.

Repository Scope & Progress

  • Days 1–15: project files, exercises and course materials.
  • Day 16: introductory object-oriented programming examples using Turtle and PrettyTable, stored inside Day 16-100.
  • Days 17–100: no separate day implementations are currently included.

This is a learning repository. Some files contain starter code, TODOs, empty exercises or bugs used during practice. The presence of a day folder does not mean every exercise is complete.

Strategic Process

  1. Build the fundamentals: practice variables, data types, arithmetic, conditionals, lists and loops.
  2. Apply each concept: combine the lessons in small projects such as Treasure Island, Hangman and Caesar Cipher.
  3. Organize program logic: use functions, return values, dictionaries and modules to support larger projects.
  4. Practice debugging: inspect behavior, reproduce problems and work through debugging exercises.
  5. Explore objects and packages: begin working with object attributes, methods, Turtle graphics and PrettyTable.

Learning Results & Tradeoffs

The repository shows practice with interactive command-line programs, reusable functions, game state and structured data. Blackjack, the number guessing game and the coffee machine project bring several of these ideas together in one program.

The emphasis is on learning through iteration. Input validation, error handling and implementation quality vary between exercises; these scripts should be read as coursework and practice rather than production applications.

Daily Project Index

Each day links to its folder and a main project or representative exercise. Day 6's linked function file is currently empty; its folder contains the associated course tasks. Day 13 contains multiple debugging exercises rather than a single final project.

Day Project / Exercise Concepts Practiced Main File All Day Files
01 Band Name Generator Variables, strings, input and output task.py Browse day
02 Tip Calculator Data types, conversion, arithmetic and formatting task.py Browse day
03 Treasure Island Conditionals, nesting and logical operators task.py Browse day
04 Rock Paper Scissors Randomization, lists and indexing task.py Browse day
05 Password Generator For loops, ranges and random selection task.py Browse day
06 Functions Function practice and course task materials task.py Browse day
07 Hangman Loops, game state, lists and imported modules main.py Browse day
08 Caesar Cipher Function parameters, arguments and string processing main.py Browse day
09 Blind Auction Dictionaries, nested data and bid comparison main.py Browse day
10 Calculator Return values, docstrings and functions in dictionaries main.py Browse day
11 Blackjack Functions, card scoring and game logic main.py Browse day
12 Number Guessing Game Scope, constants and difficulty levels main.py Browse day
13 Debugging Exercises Reproducing errors, tracing code and using a debugger task.py Browse day
14 Higher or Lower Comparisons, data dictionaries and score tracking main.py Browse day
15 Coffee Machine Resource management, menus and payment logic main.py Browse day
16 Objects, Turtle & PrettyTable Objects, attributes, methods and external packages Day 16.py Browse day

Tech Stack

  • Language: Python 3.
  • Standard library: modules such as random, math and turtle.
  • External package: prettytable for the Day 16 table example.
  • Development environment: PyCharm-compatible course materials; the Python scripts can also be opened in another editor.
  • Project format: standalone scripts, local helper modules and course task metadata.

Installation & Usage

1. Clone the repository

git clone https://github.com/DavidFinTech/100_days_of_code.git
cd 100_days_of_code

2. Check Python

python3 --version

Use a Python 3 installation. On Windows, use py in place of python3 if needed.

3. Run a project

For the band name generator:

python3 "Day 1/task/task.py"

For a project with local helper files, change into its folder and run the main script:

cd "Day 11/task"
python3 main.py

Follow the prompts in the terminal. Keep helper files such as art.py, hangman_words.py and game_data.py alongside their project scripts.

4. Set up the Day 16 example

From the repository root, create a virtual environment and install PrettyTable:

python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install prettytable
cd "Day 16-100/Where are the rest of the days"
python3 "Day 16.py"

On Windows, activate the environment with .venv\Scripts\activate instead. The Turtle example requires a graphical desktop and a Python installation with Tk support. Click the Turtle window to close it and continue to the table example.

Complete Python File Index

Expand a day to open any of its Python files, including project scripts, supporting modules and reference solutions. Empty files and starter exercises are included for completeness.

Day 01 — Python files
Day 02 — Python files
Day 03 — Python files
Day 04 — Python files
Day 05 — Python files
Day 06 — Python files
Day 07 — Python files
Day 08 — Python files
Day 09 — Python files
Day 10 — Python files
Day 11 — Python files
Day 12 — Python files
Day 13 — Python files
Day 14 — Python files
Day 15 — Python files
Day 16 — Python files

Course & Author

Course exercises and reference solutions are retained alongside my practice code. This repository currently has no license file; refer to the original course terms for course-provided materials.

About

My Python learning journey through Angela Yu’s 100 Days of Code bootcamp, featuring daily exercises, games, and projects—from fundamentals to object-oriented programming.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages