Udemy Angela Yu's course that has 100 projects for students to make each day with classes of 1-2 hours duration.
This repository will store all the related projects. If you are interested in any code files, please run the code in an IDE for Python, though I recommend running it on Replit as some modules are imported based on the website.
Below is my summary of what I've learned every day and the link to fork the project on Repl.it (Online IDE):
Day 1 - Band Name Generator:
- Created a band name generator from user input of their country and a random pet name.
- Learned about the
print
function,input
function, and variable creation. - Learned about commenting.
\n
brings the cursor/content to the next line in the same print function.
Day 2 - Tip Calculator:
- Built a simple calculator to split a bill with tip percentage and number of people.
- Applied f-string formatting.
- Reminded that inputs are strings and need to be converted to float/integer.
- Learned to round numbers to specific decimal places.
Day 3 - Treasure Island:
- Created a text-based treasure island adventure with different outcomes.
- Used ASCII Art from ascii.co.uk.
- Applied
if
,elif
,else
statements and nestedif/else
. - Learned the importance of indentation in Python.
Day 4 - Rock Paper Scissors:
- Built a simple rock-paper-scissors game with the computer's move randomly generated.
- Worked with lists and indexing.
- Used
random.choice()
for random selection. - Learned about nested lists and the
random
module.
Day 5 - Password Generator:
- Created a password generator with options for the number of letters, symbols, and numbers.
- Learned about
for
loops,random.shuffle()
, and converting a list into a string. - Worked on understanding the algorithm logic.
Day 6 - Reeborg's World Maze:
- Solved the maze challenge using
while
loops on Reeborg’s World. - Differentiated between
for
andwhile
loops. - Learned about function creation and calling.
- Worked with indentation and nested
if
statements.
Day 7 - Hangman Game:
- Built a Hangman game where the user guesses a word.
- Worked with
while
andfor
loops. - Imported modules into the main file and used the
in
keyword to check if a letter is in the word.
Day 8 - Caesar Cipher:
- Created an encryption/decryption program using a Caesar cipher.
- Applied functions, loops, and learned about modulo
%
for shifting letters. - Worked with positional and keyword arguments in functions.
Day 9 - Blind Auction:
- Created a blind auction program where the highest bid wins.
- Learned about dictionaries, nesting dictionaries, and looping through them.
- Worked with
while
andfor
loops.
Day 10 - Calculator:
- Built a calculator that can perform basic arithmetic operations and loop for further calculations.
- Learned about recursion (calling a function inside itself) and flagging with loops.
- Used
print
andreturn
functions and understood their differences.
Day 11 - Blackjack Game:
- Built a Blackjack game where the player tries to get a sum of cards closest to 21.
- Used docstrings for function descriptions.
- Applied recursion and flagging techniques.
- Worked with the
sum()
function andlist.remove()
.
Day 12 - Number Guessing Game:
- Built a number guessing game with easy/hard modes.
- Learned about constants and variable scopes (local and global).
- Applied flagging and recursion concepts.
Day 13 - Debugging Techniques:
- Learned 10 debugging techniques, including:
- Reproducing bugs.
- Using print statements and debuggers.
- Asking for help and searching StackOverflow.
Day 14 - Higher-Lower Game:
- Built a higher-lower game where users guess which celebrity has more followers.
- Reviewed dictionaries and functions.
- Learned how to randomly assign values for each loop.
Day 15 - Coffee Machine:
- Continued the coffee machine project.
- Refreshed knowledge on dictionaries, nested dictionaries, flagging, and using
return
andglobal
statements.
Day 16 - OOP Coffee Machine:
- Learned about Object-Oriented Programming (OOP).
- Used classes and attributes, and methods for OOP in Python.
- Explored Python Package Index (PyPI) and used a module (PrettyTable).
- Worked with Turtle Graphics and PyCharm shortcuts.
To be continued with further updates... or not... pivoted to JavaScript