top of page
Writer's pictureKyser Clark

100 Days of Code: 1-50

Updated: Dec 31, 2022


You can view my completed projects at: https://github.com/KyserClark/Completed-Projects

You can view each day's log at: https://github.com/KyserClark/100-Days-of-Code

You can view the Days 51-100 post at: https://www.kyserclark.com/post/100-days-of-code-51-100



Day 50

Didn't get a chance to actually code today because when I loaded up PyCharm all my settings and menu disappeared. It was as if I was in a whole new IDE. I spend a good amount of time trying to make my settings and menu bars come back, however, there wasn't a whole lot of support to fix my issue online. At least, there wasn't a simple solution. So, that frustration creates a new opportunity to try a new IDE. I downloaded and configured Microsoft Visual Studio Code with my remaining time. I have the new IDE ready to go for tomorrow. This seems to be a lot simpler to navigate compared to PyCharm. Which is good, although I will miss the PEP 8 suggestions in PyCharm. Maybe there is a plugin to get PEP 8 style suggestions in VS Code. Tomorrow I will continue Chapter 10: Files and Exceptions in the Python Crash Course book by Eric Matthes. Normally I would try to produce some code, but I have an important paper to type for school, restricting me to only one hour in Python. (And I really shouldn't have done any kind of coding today, but I wanted to keep my 100 Days of Code Streak Alive).


Total Time Dedicated to Python Learning = 137 hours


Day 49

1.5 hours into Chapter 10: Files and Exceptions in the Python Crash Course book by Eric Matthes. I'm about halfway through the chapter and made some programs that can open and read files as well as open and write to files. Very fun stuff!


My exercises from the book are attached:

Total Time Dedicated to Python Learning = 137 hours


Day 48

I finally finished Chapter 9: Functions in the Python Crash Course book by Eric Matthes. A lot of interesting exercises explaining classes and how to import modules. I especially had fun programming the dice, and lottery_analysis programs. Tomorrow I will start Chapter 10: Files and Exceptions.


My exercises from the book are attached:

Total Time Dedicated to Python Learning = 135.5 hours


Day 47

Truthfully, I didn't get a whole lot accomplished today. My tank is running on empty. My Advent of Cyber 2021 journey has taken a lot of my time. Editing YouTube videos take a long time and a lot of work, I'm exhausted, and to be frank, I would not have attempted to do a day of coding if I was not this far into my 100 days of code journey. I refuse to snap my streak. Today I continued with Chapter 9: Functions in the Python Crash Course book by Eric Matthes. I completed one exercise, but I'm currently stuck on one of the exercises. I think I will b able to solve it when I'm not so exhausted.


My exercises from the book are attached:

Total Time Dedicated to Python Learning = 134 hours


Day 46

Another hour of Python learning today! I continued Chapter 9: Functions in the Python Crash Course book by Eric Matthes. Unfortunately, I did not finish it. However, I did learn about a very valuable take when creating a child class. super() lets you truly inherit the parent's class attributes when creating a child class. This is extremely useful. Tomorrow I will continue with Chapter 9.


My exercises from the book are attached:

Total Time Dedicated to Python Learning = 133.5 hours


Day 45

Today I competed about the first quarter of Chapter 9: Classes in the Python Crash Course book by Eric Matthes. I only had time to put an hour into learning, but that is enough to keep the 100 days of Code streak alive. Nothing too crazy, only the basics of classes in python. Tomorrow I will continue Chapter 9.


My exercises from the book are attached:

Total Time Dedicated to Python Learning = 132.5 hours


Day 44

It took me 1.5 hours to complete Chapter 8: Functions in the Python Crash Course book by Eric Matthes. Once again, very straightforward for me and had no real challenges. However, I do have a much greater understanding of importing modules. Tomorrow I will start Chapter 9: Classes.


I'm looking forward to this because this is the hardest part of Python for me. It will be good to see the information presented to me from a new perspective and get in some well-needed practice.


My exercises from the book are attached:

Total Time Dedicated to Python Learning = 131.5 hours


Day 43

With two hours available, I managed to get halfway through Chapter 8: Functions in the Python Crash Course book by Eric Matthes. Once again, not a new concept to me, but it is nice to get a review of functions. I'm getting very good at writing code correctly without many errors. I have a lot of fun doing this, and I love how I am getting better and more efficient. Tomorrow I will continue and complete Chapter 8.


My exercises from the book are attached:

Total Time Dedicated to Python Learning = 130 hours


Day 42

Another fantastic day of Python learning. Today I spent 3.5 hours going through Chapter 7: User Input and while loops in the Python Crash Course book by Eric Matthes. Definitely not new concepts for me. However, I did learn a clever new way of accepting user input. I also realized that 'continue' inside a while loop doesn't continue the while loop at all. Instead, it stops the while loop in place and returns back to the beginning. I thought this whole time, 'continue' meant to run to the next section of the loop. This alone probably cause some headaches in my previous programs, so it's really nice to understand it fully. Tomorrow I will continue with the book on to Chapter 8: Functions.


My exercises from the book are attached:

Total Time Dedicated to Python Learning = 128 hours


Day 41

I logged 5 hours today. It took me 4 hours and 50 minutes to complete Chapter 5: Dictionaries in the Python Crash Course book by Eric Matthes. It seems a bit trivial to spend that much time on one chapter. However, I must admit dictionaries and nesting wasn't my strong suit going into this. However, spending a lot of time in the "Try It Yourself" sections, I feel a lot more comfortable working with dictionaries, and especially dictionaries inside dictionaries, lists in dictionaries, and dictionaries inside lists. Nesting can get a little complex, but I have a firm understanding of how it works now. I spent the remaining 10 minutes of my time reading the first five pages of Chapter 6: User Input and While Loops, where I will begin my coding session tomorrow.


My exercises from the book are attached:

Total Time Dedicated to Python Learning = 124.5 hours


Day 40

A long day today; I logged in 7.5 hours into Python today. I started the day by finishing reading the PEP 8 -- Style Guide for Python Code. Once I read it, I thought it would be a good idea to go back and re-style my Blackjack Game to match what the community deems as an acceptable format. Then my focus was on changing the Sublime text editor settings to make it fit my needs. Then I read Chapter 5: If Statements in the Python Crash Course book by Eric Matthes. Straightforward chapter, even though it was just a review for me, I still completed all the "Try it yourself" sections. After I finished the chapter, I decided to download PyCharm and try it out. I instantly fell in love with it due to its integrated PEP 8 easy/auto-fixes. With this tool, all I have to do is code and not worry about my styling. I already like it more than Sublime. I'll use PyCharm for a while before I switch to a new IDE. I want to give a handful of IDEs a try to determine what IDE works best for me. I think PyCharm will be hard to beat, but we shall see. I've already customized it to my liking and tomorrow I will be off to the races when I start Chapter 6: Dictionaries!


My exercises from the book are attached:

Total Time Dedicated to Python Learning = 119.5 hours


Day 39

Today with 2 hours, I completed Chapter 4: Working with Lists in the Python Crash Course book by Eric Matthes.


Once again, this chapter was just a review of the fundamentals of python. However, I still had fun completing the "try it yourself" sections. I think it's pretty cool that my computer can print out every number from 1 to 1,000,000 in just over 5 seconds. It's truly remarkable how fast modern computers can compute. Computers have extended the abilities of humans far past ever previously imaginable. Unfortunately, I think many humans, myself included, take advantage of these amazing advancements without truly realizing how much of a feat we have accomplished. The more I study computer science, the more I realize the sheer power of modern computers.


I also read the introduction section of the PEP 8 -- Style Guide for Python Code. I will read the rest of it tomorrow and go through Chapter 5: If Statements.


My exercises from the book are attached:

Total Time Dedicated to Python Learning = 112 hours


Day 38

Today with 2.25 hours, I completed Chapter 3: Introducing Lists in the Python Crash Course book by Eric Matthes.


Most of the chapter was just a review for me, and I didn't learn much. However, I now know the difference between .sort() and sorted(). I also learned about del and .remove(). The exercises were simple but proved that I do understand the basics of lists. Tomorrow, on Thanksgiving, I will start with Chapter 4: Working with Lists. NO DAYS OFF!


My exercises from the book are attached:

Total Time Dedicated to Python Learning = 110 hours


Day 37

Today with 1.5 hours, I completed Chapter 2: Variables and Simple Data Types in the Python Crash Course book by Eric Matthes.


Everything here was very basic, however, I learned two brand new things. I learned the .strip(), .lstrip(), and .rstrip() methods as well as using underscores to represent long numbers in Python like this: 100_000_000. Python doesn't read the underscores in numbers, so this is useful to help humans read long numbers.


a zip file is attached with my coding exercises from the chapter:


Tomorrow I will start with Chapter 3: Introducing lists.

Total Time Dedicated to Python Learning = 107.75 hours


Day 36

I started Python Crash Course by Eric Matthes today. I spent about 1.25 hours reading through Chapter 1: Getting Started. The chapter walks you through how to install Python and Sublime text editor. I also read Appendix B: Text Editors and IDEs and did a small amount of side research on some IDEs. Since the book uses Sublime Text editor, I will too. I have already learned some new things about the Sublime text editor. Tomorrow I will start Chapter 2: Variables and Simple Data Types.


Total Time Dedicated to Python Learning = 106.25 hours


Day 35

I decided not to start the final capstone project; instead, I decided to go over the lectures after the final capstone project to learn more. So I am proud to say after 105 hours, I have completed the Complete Python Bootcamp From Zero to Hero in Python Udemy Course by Jose Portilla. Today was all about advanced python Objects and Data Structures, as well as an introduction to GUIs. It took me 2.5 hours to complete 17 lectures today. Tomorrow I will start Python Crash Course by Eric Matthes.


This book is intended for absolute beginners; however, It will do me a lot of good going over the fundamentals again and getting a new perspective from a different instructor. There are also three very different projects towards the end of the book, so this book still has a lot of value to me. It's 548 pages long, so it's packed with information. Even though I just completed a beginner-level course, I am confident that I will learn and expand my knowledge and reinforce common topics. I can't wait to start it tomorrow.


It's worth noting that I fully intend on completing some major project with the 10+ remaining days of my 100 Days of Code challenge to complete the Final Capstone Project requirement from the Complete Python Bootcamp course. Therefore, I am saving my final project for the end of my 100 Days of code, which makes more sense.


My Jupyter Notebooks are attached:

Total Time Dedicated to Python Learning = 105 hours


Day 34

An excellent day of Python learning today; I spent 5 hours going through the rest of the base sections in the Complete Python Bootcamp From Zero to Hero in Python Udemy Course by Jose Portilla. I completed: Section 16: Working with Images with Python, Section 17: Working with PDFs and Spreadsheet CSV Files in Python, and Section 18: Emails with Python. I have made it to the Final Capstone Python Project! Jose recommends starting with a small project that will take less than a day and then moving towards a project that will take more than a week. Since I try to make my python days as close as three hours as possible, I will do one project that takes less than 3 hours and another project that takes more than 21 hours. Still unsure what projects I will do. It is up to me to choose which is the best part of the project. I get to choose something that I think is fun to me.


My Jupyter Notebooks are attached:

Total Time Dedicated to Python Learning = 102.5 hours


Day 33

Surprisingly a more extended coding session today. I was aiming for 2-3 hours but ended up putting in 4.5 hours. The last Python Web Scraping - Excercise was challenging but very fun and rewarding after I completed it. Today I completed Python Web Scraping - Book Examples Part One and Two and the Web Scraping Excercise. Tomorrow I will watch the solutions to the Web Scraping Exercise and continue with Section 16: Working with Images with Python in the Complete Python Bootcamp From Zero to Hero in Python Udemy Course by Jose Portilla. My Jupyter Notebooks are attached:

Total Time Dedicated to Python Learning = 97.5 hours


Day 32

I put 1 hour into Python learning today. I completed Introduction to Web Scraping, Setting Up Web Scraping Libraries, Python Web Scraping - Grabbing a Title, and Python Web Scraping - Grabbing a Class in the Complete Python Bootcamp From Zero to Hero in Python Udemy Course by Jose Portilla. Tomorrow I will continue with Python Web Scraping - Grabbing an Image.


My Jupyter notebook is attached:

Total Time Dedicated to Python Learning = 93 hours


Day 31

I put in 2 hours into Python learning today. I completed Python Regular Expressions Part Three, Timing Your Python Code, Zipping and Unzipping files with Python, and Advanced Python Module Puzzle in the Complete Python Bootcamp From Zero to Hero in Python Udemy Course by Jose Portilla. Tomorrow I will Start Section 15: Web Scraping with Python.


My Jupyter notebooks are attached:

Total Time Dedicated to Python Learning = 92 hours


Day 30

I put in another hour of Python learning today. Once again I had school work, and unfortunately, I turned my assignment in about 3 minutes late and it was not my best work. This is mostly due to the fact that I spent way too much time coding this weekend and neglected my schoolwork. Going forward, I will not code more than an hour until my schoolwork is done for the week.


Today I Completed the hands-on portion of Python Regular Expressions parts one, and two. And I watched part 3. Tomorrow I will code along for part 3 and then go into Timing Your Python Code in the Complete Python Bootcamp From Zero to Hero in Python Udemy Course by Jose Portilla.


My Jupyter Notebook is attached:

Total Time Dedicated to Python Learning = 90 hours


Day 29

I only had an hour to code today. Really, I shouldn't have even put in an hour since I have an important school project due tomorrow, but I needed to keep my 100 Days of Code streak alive. I'll still get the project done if I hit it hard first thing after work tomorrow, which should allow me for a decent amount of Python learning tomorrow.


Today I went through Python Math and Random Modules, Python Debugger, and Python Regular Expressions Part One. Tomorrow I will re-watch and code along with the Part one video and continue on to part 2 and part 3 in the Complete Python Bootcamp From Zero to Hero in Python Udemy Course by Jose Portilla.


My Jupyter Notebook is attached:

Total Time Dedicated to Python Learning = 89 hours


Day 28

I started the day by cleaning up code from my Blackjack game. I spent about an hour adding comments, rephrasing comments, and removing unnecessary code not needed for game functionality. Once I cleaned up the code, I dove into the solutions to the Blackjack game. Most of the solutions were very similar to my code, although my code was better in a handful of areas and even worse in a couple of places. Overall, I nailed the Blackjack game, and I feel terrific with my Python abilities so far. After watching the intended solutions videos, I continued with the Complete Python Bootcamp From Zero to Hero in Python Udemy Course by Jose Portilla. As always, I watched the video the rewatched the video, following along every step of the way. Today I completed:

  • Decorators with Python Overview

  • Decorators Homework

  • Generators with Python

  • Generators Homework

  • Introduction to Advanced Python Modules

  • Python Collections Module

  • Opening and Reading Files and Folders (Python OS Module)

  • Python Datetime Module

Today, I spent six hours going through the course, and tomorrow I will start with Python Math and Random Modules.


My Jupyter Notebooks are attached:

Note: I purposely excluded the notebook where I was manipulating files on my computer for security reasons.


Total Time Dedicated to Python Learning = 88 hours


Day 27

THE BLACKJACK GAME IS DONE!!!


After 23 hours across six days, I finally have a fully functional one-player simple text-based Blackjack game built with Python. It works VERY well. I played over 100 hands with the final code without a hitch. During coding and troubleshooting today, I ran 560 cells. Today, I added the show_some and show_all functions, which show the hands depending on whether the dealer's first card is face up or face down. After that, I added all hand-ending scenarios. Next was the play_again function that asks the player if they want to play again. Lastly, I coded all the classes and functions to work together in the final section of the code and gave the player the rules of the game. Gluing all the classes and functions together into a final product was the most time-consuming part. It took up about half the day (5 hours or so). I had to completely redo the betting methods and add Blackjacks that pay the player 3 to 2 (150%) of their bet and a lot of other minor issues and fixes.


Today I spent 10 hours on this project. I only wanted to code for 6 hours and work on other projects later in the day, but I was in the groove and couldn't stop, and I got obsessed with completing the game today since it was "so close" to being done. So I didn't do anything but code this game out and test it, and test it some more. Dedication and persistence pay off!


Tomorrow I will look at the intended solutions for this project and follow allow with the instructor for more hands-on experience. I'm curious how mine and his code will differ. One thing I know for sure is that my game is more user-friendly, has a few extra features, and just plays better. I'm not saying I am a better coder than the instructor, I'm just saying that I went above and beyond the project requirements because I wanted to.


The .txt file is attached.

To run the game, you need to:

  1. Install Python 3.6 or higher

  2. Download the .txt file below

  3. convert the .txt file into a .py file

  4. open the .py file

Alternatively, you can view the code on my Github Page.


Total Time Dedicated to Python Learning = 82 hours


Day 26

Six-hour Python session today. I made progress in the Blackjack game, but it's not lighting speed by any means. I still get stuck at some beginner-level stuff; however, getting stuck is where the real understanding happens. Today I added more to the Hand class, and now I have a much clearer picture of how everything fits together. I created the hit(Hand) function, as well as the hit_or_stand(): function. These allow the player to choose if they want to hit or stand, and the game will deal the player a card depending on the choice. It doesn't sound like 6 hours of work, but I ran 843 cells troubleshooting and trying to get things to work and understand how everything operates. It's a lot of trial and error, and as a complete newbie to programming, I think I am doing pretty good so far. I think I can get the game done in the next couple of days or so. We will see-through.


My Jupyter Notebook is attached:

Total Time Dedicated to Python Learning = 72 hours


Day 25

After being in a rut for an hour last night, I made significant progress today with the 4 hours I had available to dedicate to Python. Using the workbook is helping me out a lot. First, I created the Hand and Chip classes, which keep track of the player's hand and chip data respectfully. The hand class can add cards from the deck to the hand and modify the total hand value depending on if Aces need to be high or low. The Chip class has methods that add bet winnings to the player's chip balance and a method that removes their bet amount if they lose the hand. Next, I created a betting function. This portion of my code took up the most time because it required a lot of testing and changing the Chip class many times to get it working correctly. After a lot of trial and error, I was able to get the bet function working flawlessly and update the chip class accordingly.


After this, I spent about an hour looking at ways to get the card printed on the screen in ASCII text instead of printing out "Ace of Spades, King of Hearts" for the player to read. After a few google searches, getting the ASCII versions of the cards to print out is a project in itself. I need to get the game working before I can consider making it look good on screen. This is not a requirement of the project, and after playing the instructor's final version of the game, I know mine will appeal more to the player. Even though making the game look better will take me longer, I want to share my work with others and be proud of it. There is still a lot of work to be done, but I made good progress. Tomorrow will be all about creating the rest of the game functions since all my classes are complete. At least until I find out, I did something wrong.


My Jupyter Notebook is attached:

Total Time Dedicated to Python Learning = 64 hours


Day 24

I am not going to lie. I looked at my Jupiter notebook for about a half-hour without writing any code. Everything I could come up with in my head seemed like it wouldn't work to progress the Blackjack game. Because of this, I decided to open up the code along workbook to get me started. Which is a guide to the project, but it doesn't give you the complete solutions. I read the whole workbook, and I am still struggling to figure out how all the classes and functions fit together to make a completed game. My mind is exhausted, I tried today, but I just couldn't develop any solutions to the next part of the program. I'm hoping it makes more sense when I try to tackle this tomorrow. If not, I might have to watch the solutions video and take the easy way out. At least with the Tic Tac Toe game, I could try and fail, try and fail, try and fail. But right now, I don't even know what to try. Everything that comes to my mind seems like it won't work, no matter how I imagine it.


It's worth noting that I think I could make progress using functions. However, the instructor wants the students to use classes over functions for a lot of the program. Fitting functions together is a lot easier than fitting classes together. Overall, I spent an hour trying to develop some sort of game logic that fits all the pieces together. Unfortunately, I wasn't successful today. I suppose days like this can happen. I'm not going to let it discourage me. I'm sure I can get some code tomorrow after a good night's rest.


Total Time Dedicated to Python Learning = 62 hours


Day 23

I only had time to put an hour into Python learning today due to a school project. I made a little progress with my Blackjack game. I created the Player Class, which establishes a player with a starting betting balance. Inside the player class, I have a method that allows players to place bets and collect bet winnings. I spent most of my time thinking about the overall game logic and how it fits with the classes I have already made and the upcoming classes and functions I have to make. This seems to be more challenging than I initially thought. I now have a whole new respect for game developers. Tomorrow I will continue coding out the game.


My Jupyter notebook is attached:

Total Time Dedicated to Python Learning = 61 hours


Day 22

Today, I could only put in an hour into Python because I had a basketball game today. I'm happy to say we won and our team is 2-0 for the season! I cannot play due to a knee injury, but coaching the team from the sidelines and winning is still fun! I'm hoping my knee injury heals up in the next couple months so I can catch the tail end of the season.


I officially started milestone Project 2 in the Complete Python Bootcamp From Zero to Hero in Python Udemy Course by Jose Portilla.


To be honest, I didn't code a lot; I set card attributes such as suit, rank, and value, and I created the card and deck classes, and that is it.


I spent most of my time researching how Blackjack is actually played because I would like to program the game to be more like the real-world version of the game over the watered-down instructor's version. I only played Blackjack on Fallout: New Vegas, and even that video game does not emulate Blackjack properly. Therefore, I spent time researching the game to provide a better experience to players and give me additional challenges. For example, I had no idea when to shuffle the deck of cards while playing Blackjack, and I want my program to emulate the real rules as much as possible. Now that I have the rules down, I can start thinking about the game logic and get into the weeds of coding out the game. I think the final version will be better than what is needed to complete the project, but my goal is to learn Python and be a better programmer in the long run, not turn in an assignment for a grade. More coding = more learning!!


My Jupyter Notebook is attached:

Total Time Dedicated to Python Learning = 60 hours


Day 21

Today was a two-hour Python session. As I said in yesterday's post, I coded along with the warmup videos for Milestone Project 2 in the Complete Python Bootcamp From Zero to Hero in Python Udemy Course by Jose Portilla.


These videos show how to program a game of War from the ground up:

  • Card Class

  • Deck Class

  • Player Class

  • Game Logic - Part One

  • Game Logic - Part Two

  • Game Logic - Part Three

Attached is my Jupyter notebook showing todays work. My code and my version of War:

Tomorrow I officially begin Milestone Project 2, where I create a one-player Blackjack game from scratch.


Just like Milestone Project 1, I am electing to go with the challenging route. This means I will not be looking at the solutions video or following the course guide for assistance while I code out this game. This choice will be much harder, take longer, and be more frustrating to go through, but in the end, it will make me a better programmer and force me to understand Python more. I need this because I eventually would like to get to an advanced level of understanding in Python. We will see how it goes in the coming days. I feel confident in my abilities, but I know this will be challenging and rewarding, just like the Tic Tac Toe game.


Total Time Dedicated to Python Learning = 59 hours


Day 20

Today I put in 3.5 hours into learning Python. Continuing on my path to complete the Complete Python Bootcamp From Zero to Hero in Python Udemy Course by Jose Portilla.


I started with learning __name__ and "__main__" to finish up section 0: Modules and Packages and then proceeded to go into section 10: Errors and Exceptions Handling, which included:

  • Errors and Exception Handling

  • Errors and Exceptions Homework

  • Pylint Overview

  • Running tests with the Unittest Library

Once section 10 was complete, the next step was going into section 11: Milestone Project - 2. I have watched all Milestone Project 2 Section Warmup videos. The warmup video is a full-fledge game of the War card game where Jose goes through:

  • Card Class

  • Deck Class

  • Player Class

  • Game Logic - Part One

  • Game Logic - Part Two

  • Game Logic - Part Three

Tomorrow I will code along with these warmup videos and create a game of war myself.


Lastly, I watched the Milestone Project 2 Overview, where Jose tells the student what Project 2 is. Project 2 is a one-player Blackjack game where a player plays and bets against a computer dealer.


Just like Milestone Project 1, I am electing to go with the challenging route. This means I will not be looking at the solutions video or following the course guide for assistance while I code out this game. This choice will be much harder, take longer, and be more frustrating to go through, but in the end, it will make me a better programmer and force me to understand Python more. I need this because I eventually would like to get to an advanced level of understanding in Python. We will see how it goes in the coming days. I feel confident in my abilities, but just like the Tic Tac Toe game, I know this will be challenging and rewarding.


All work I did today is attached:

Total Time Dedicated to Python Learning = 57 hours


Day 19

Today I put in 1.5 hours into Python learning. I didn't code anything today. Today was all about how to install packages and how to create my own modules and packages. Now I know that a program doesn't need to have all the code inside one file, and I can use multiple files/folders/directories to create an organized program. Neat!


Tomorrow I start with __name and "__main__" and then go into Errors and Exception Handling in the Complete Python Bootcamp From Zero to Hero in Python Udemy Course by Jose Portilla.


The package I created is attached:

Nothing special, just learning the basics of how to create and manage packages in python.


Total Time Dedicated to Python Learning = 53.5 hours


Day 18

Today I spent exactly one hour completing the Object Oriented Programming - Challenge in the Complete Python Bootcamp From Zero to Hero in Python Udemy Course by Jose Portilla.


The challenge:


Create a bank account class that has two attributes:

  • owner

  • balance

and two methods:

  • deposit

  • withdraw

As an added requirement, withdrawals may not exceed the available balance.


Instantiate your class, make several deposits and withdrawals, and test to make sure the account can't be overdrawn.


My code to complete the challenge:

Full Jupyter Notebook:

Total Time Dedicated to Python Learning = 52 hours


Day 17

Today I put in 2.75 hours into Python Learning. I learned about Class Object Attributes and Methods, Inheritance and Polymorphism, and Special (Magic/Dunder) Methods.


I also completed the Object-Oriented programming Homework with ease. This means I feel comfortable with the material in the Complete Python Bootcamp From Zero to Hero in Python Udemy Course by Jose Portilla.


Tomorrow I will put these skills to the test by completing the Object-Oriented Programming challenge.


Up to this point, I have dedicated 51 hours to python learning across 17 days.


My Jupyter notebooks are attached:

Total Time Dedicated to Python Learning = 51 hours


Day 16

I began with an introduction to object-oriented programming and learned about attributes and class keyword, followed by object attributes and methods. Tomorrow I will continue with object attributes and methods followed by Inheritance ad polymorphism in the Complete Python Bootcamp From Zero to Hero in Python Udemy Course by Jose Portilla.


My Jupyter Notebook is attached:

Total Time Dedicated to Python Learning = 47.75 hours


Day 15

Today I went through the intended solutions of the tic tac toe game and did the first few steps myself, but then resorted to coding along because the instructor used something that wasn't taught in a previous lecture. Since I'm limited on time, I decided to code along and get it all done today to start tomorrow with brand new content. Since I coded my own tic tac toe game from scratch without looking at the solutions, I don't think it will hurt if I don't code it out again. Coding along will suffice for understanding some of the different methods I didn't apply to my original game code. Tomorrow I start with learning Object-Oriented Programming. I only had time to dedicate an hour today, but I ended up putting in an hour and a half because it made more sense as a stopping point. Now I'm going to have to stay up very late tonight to get my school project done.


Total Time Dedicated to Python Learning = 46.75 hours


Day 14

Today I could only dedicate an hour to python learning due to school work deadlines and other competing priorities. So even though I already made a fully functional tic tac toe game, I wanted to go through the solutions to the project in the Complete Python Bootcamp From Zero to Hero in Python Udemy Course by Jose Portilla. I watched the solution videos, and I realized that I could have made the tic tac toe game a little more efficient. However, there are some areas that I believe I did better in compared to the instructor's intended solutions. It's not a problem. The instructor even said his code would be different from mine if I decided to code out the project without looking at the solutions first during the lectures. The primary goal was to get a fully working tic tac toe game without looking at the solutions and using minimal google search help.


Tomorrow I will try to code out the intended solutions from memory. Meaning, I won't reference the solutions video while making my 2nd tic tac toe game. The only aid I will have is the workbook that helps layout the logic included in the project. I am enjoying the challenges with coding. I believe taking the challenging route is the best approach. It may take longer to get through the course, but in the end, I think it will make me be a better coder.


Total Time Dedicated to Python Learning = 45.75 hours


Day 13

Today was the day I finished my tic tac toe game! My first ever program in any language!


I didn't look at the solutions, or the "help getting started" content in the Udemy course I have been following. Because of this, it took me longer to get a working tic tac toe game. However, I believe I came out a better programmer for choosing the challenging route. I ran into many errors and problems during this endeavor, but I understand how python and programming works so much more now.


I spent 7 hours today working on the code and another hour cleaning it up and adding comments for a total of 8 hours. So overall, it took me 16 hours across five days to finish the tic tac toe game.


Tomorrow I will look at the solutions and the guidance for the tic tac toe game and will follow along and create a new tic tac toe game and take note of any efficiencies I missed along the way doing this milestone without help.


The .txt file is attached:

To run the game you need to:

  1. Install Python 3.6 or higher

  2. Download the .txt file below

  3. convert the .txt file into a .py file

  4. open the .py file

Alternatively, you can view the code on my Github Page.


Total Time Dedicated to Python Learning = 44.75 hours


Day 12

Spent about an hour and a half trying to figure out why my Python code wasn't working.


And I found out it's because I don't understand this particular Boolean statement:

cell_list[0] = ' '

print(cell_list[0])

bool(cell_list[0] == 'O' or 'X')

True

print(cell_list[0])

Why is this returning true?


Hopefully, I can get an answer to this soon. Very mind-boggling to me


My jupyter notebook is attached:

Total Time Dedicated to Python Learning = 36.75 hours


Day 11

Got a late start, but still managed to get just under 1.5 hours of Python in. Still working on making Tic Tac Toe. My code might not be efficient, but It's working pretty good after many trials and errors. Spent the whole time trying to work on game flow. aka player turns.


Total Time Dedicated to Python Learning = 35.25 hours


Day 10

I spent just over two hours working on my Tic Tac Toe game with Python. I had some trouble getting some basic functions to work, but I could get them working with persistence. I finished the game board and finished the game's opening function with player 1's choice of letter. I am starting to come up with ideas on how to get the rest of the game working. Basically, at this point, I need to establish game flow between players, marking their choices on the board and calculating win conditions. I also want to incorporate the ability to quit anytime and a replay game option at the end of the game. I think it will take me several more hours to finish this. I'm doing this with as little help as possible. Taking the challenging route will make me a better programmer overall. The best path is the hardest earned. I'm looking forward to continuing this tomorrow.


My Jupyter notebook is attached:

Total Time Dedicated to Python Learning = 33.75 hours


Day 9

I spent another hour on Python learning today. I wish I could have put more time in, but my school work has to take priority. I also spent a decent amount of time getting my website published. Technically at this time, it is publicly viewable, and that's a significant milestone for me. Soon I will tell the world that my website has been published. I can't wait!


I watched and coded along with the final milestone project #1 walkthrough of the Complete Python Bootcamp From Zero to Hero in Python Udemy Course by Jose Portilla. I also officially began on my first milestone project. A working, playing Tic Tac Toe game! I can't wait to get it up and running. I know it will be challenging, but I'm electing not to use the guides provided with the course unless absolutely necessary. I think choosing the hard route will make me a better coder in the long run.


Tomorrow I continue and hope to make significant progress on milestone project #1


My Jupyter Notebooks are attached:

Total Time Dedicated to Python Learning = 31.75 hours


Day 8

I only had time to do one hour of Python today because I had school work to do. However, I still managed to get valuable Python time in.


Today I coded along in the the Complete Python Bootcamp From Zero to Hero in Python Udemy Course by Jose Portilla.


I did

  • Introduction to Warm Up Project Exercises

  • Displaying Information

  • Accepting User Input

  • Validating User Input

Tomorrow I begin with Simple user Interaction and start my first Python Milestone Project Overview.


My Jupyter Notebook is attached:

Total Time Dedicated to Python Learning = 30.75 hours


Day 7

Today I dedicated a solid 6 hours to learning python.


I'm now 50% complete with the Complete Python Bootcamp From Zero to Hero in Python Udemy Course by Jose Portilla.


I learned lambda expressions, map, filter functions, and nested statements and scope.


I completed the methods and functions homework with almost no guidance. I solved 6/7 problems (86%), not too bad, especially since I solved some of the problems better than the intended solution. I also watched all the milestone project warmup videos.


Tomorrow I will re-watch these milestone project warmup videos and complete the warmup exercises. Then, if there is time, I will begin the milestone project itself.


My Jupyter Notebooks are attached:

Total Time Dedicated to Python Learning = 29.75 hours


Day 6

I logged an incredible 9 hours (excluding breaks) in Python learning today. I spend the whole day learning how functions work and doing many coding exercises. However, there is still a lot to learn even though my knowledge of Python is growing. I don't know how to start applying this knowledge to the real world yet.


I'm now 45% complete with the Complete Python Bootcamp From Zero to Hero in Python Udemy Course by Jose Portilla.


It still feels bizarre to code, but I will learn how to apply Python to the real world with time.


My Jupyter Notebook is attached:

Total Time Dedicated to Python Learning = 23.75 hours


Day 5

Today I logged about 3 hours of Python learning. I am not going to lie. This stuff is starting to get challenging. I'm trying to decide if I should re-watch course content or press on. Regardless...


Day 5, I completed:

  • While loops

  • Useful Operators

  • List Comprehensions

  • Methods and Documentation

  • Introduction to Functions

  • def Keyword


My Jupyter Notebook is attached:

Total Time Dedicated to Python Learning = 14.75 hours


Day 4

Today I logged about 4 hours and 15 minutes of Python learning (not counting breaks).


Day 4, I completed:

  • Dictionaries

  • Tuples

  • Sets

  • Booleans

  • I/O with Basic Files

  • Objects and Data Structures Assessment Test

  • Comparison Operators

  • Chaining Comparison Operators with Logical Operators

  • if Elif and Else Statements

  • For Loops

  • 7 quizes & 3 exercises


My Jupyter Notebook is attached:

Tomorrow I start with While Loops!


Total Time Dedicated to Python Learning = 11.75 hours


Day 3

I logged about 1 hour and 10 minutes of Python learning today.


For day three, I completed:

  • Print Formatting with Strings

  • Print Formatting FAQs

  • Coding Exercise 5: Print Formatting

  • Lists in Python

  • Coding Exercise 6: Lists

  • Lists - FAQ

  • Quiz 3: Lists Quiz


My Jupyter Notebook is attached:

Tomorrow I begin with Dictionaries in Python. I'll be able to log more than an hour since I am done with my school work for the week. Exciting!


Total Time Dedicated to Python Learning = 7.5 hours


Day 2

Today I went through

  • Variable Assignments

  • Introduction to Strings

  • Coding Exercise 2: Quick Print Check

  • Indexing and Slicing with Strings

  • Coding Exercise 3: String Indexing

  • Coding Exercise 4: String Slicing

  • String Properties and Methods

  • String-FAQ

  • Quiz 2: Strings Quiz


I spent just over an hour learning more about Python. So far, nothing too challenging and very easy to understand.


My Jupyter notebook is attached:

Tomorrow I start with Print Formatting with Strings...


Total Time Dedicated to Python Learning = 6.5 hours


Day 1

I spent about 5.5 hours in total getting started with my coding journey.


I began by first creating a Github account (KyserClark). Once I made my Github account, I publicly committed to the 100 days of code challenge across social media.


Next, I filled out my profile information, created the README.me, and completed the Github "Hello World" tutorial where I...

  • Created an open source repository

  • Started and managed a new branch

  • Changed a file and committed those changes to GitHub

  • Opened and merged a Pull Request

With the basics of Github out of the way, I started the Complete Python Bootcamp From Zero to Hero in Python Udemy Course by Jose Portilla.


It's worth noting at this point that before I started today, I previously watched the first few videos of the course up to the point where the instructor had me install Anaconda.


So I hit the ground running today.


I launched the Jupyter Notebook app inside Anaconda, learned the basics of how it works, and watched an overview of some free browser-based Python resources.


Today the course showed me:

  • Running Python Code

  • How to get course material (notebooks)

  • Git and Github overview

  • Introduction to Python Data Types

  • Python Numbers

I even read Floating Point Arithmetic: Issues and Limitations for better understanding.


I read the entirety of the 1st chapter of the course book (in Jupyter notebook form). Then, I went over the things not covered in the video. Lastly, I completed the simple math coding exercise and completed the 3 question quiz.


My Jupyter Notebook is attached:

Total Time Dedicated to Python Learning = 5.5 hours

bottom of page