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
printfunction,inputfunction, and variable creation. - Learned about commenting.
\nbrings 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,elsestatements 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
randommodule.
Day 5 - Password Generator:
- Created a password generator with options for the number of letters, symbols, and numbers.
- Learned about
forloops,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
whileloops on Reeborg’s World. - Differentiated between
forandwhileloops. - Learned about function creation and calling.
- Worked with indentation and nested
ifstatements.
Day 7 - Hangman Game:
- Built a Hangman game where the user guesses a word.
- Worked with
whileandforloops. - Imported modules into the main file and used the
inkeyword 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
whileandforloops.
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
printandreturnfunctions 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
returnandglobalstatements.
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