top of page
Want to get notified when I create a new blog post?

Thanks for subscribing!

  • Kyser Clark

100 Days of Code: 1-50

Updated: Dec 31


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


Click here to jump to Day 1


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:

day_49
.zip
Download ZIP • 2KB

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:

day_48
.zip
Download ZIP • 4KB

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:

day_47
.zip
Download ZIP • 467B

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:

day_46
.zip
Download ZIP • 1KB

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:

day_45
.zip
Download ZIP • 1KB

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:

day_44
.zip
Download ZIP • 2KB

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:

day_43
.zip
Download ZIP • 2KB

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:

day_42
.zip
Download ZIP • 4KB

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:

day_41
.zip
Download ZIP • 4KB

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:

day_40
.zip
Download ZIP • 3KB

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:

day_39
.zip
Download ZIP • 3KB

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:

Day 38
.zip
Download ZIP • 4KB

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.

Day 37
.zip
Download ZIP • 2KB

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:

Day 35
.ipynb
Download IPYNB • 61KB
06-Advanced Python Objects Test
.ipynb
Download IPYNB • 5KB

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:

Working with images code along
.ipynb
Download IPYNB • 7.14MB
01-Image-Exercise
.ipynb
Download IPYNB • 292KB
Working with CSV files code along
.ipynb
Download IPYNB • 286KB
02-PDFs-Spreadsheets-Puzzle
.ipynb
Download IPYNB • 174KB
Emails with Python Code Along
.ipynb
Download IPYNB • 16KB

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:

Day 33
.ipynb
Download IPYNB • 2.42MB
01-Web-Scraping-Exercises
.ipynb
Download IPYNB • 50KB

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:

Day 32
.ipynb
Download IPYNB • 1.42MB

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:

Day 31
.ipynb
Download IPYNB • 25KB
Advanced Python Module Puzzle
.ipynb
Download IPYNB • 4KB

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:

Day 30
.ipynb
Download IPYNB • 11KB

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:

Day 29
.ipynb
Download IPYNB • 22KB

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:

Day 28
.ipynb
Download IPYNB • 46KB
02-Iterators and Generators Homework
.ipynb
Download IPYNB • 7KB

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.

Kyser Clark's Blackjack
.txt
Download TXT • 12KB

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.