# 100 Days of code challenge (Best way of learning)

100 days of python
0 0
Read Time:13 Minute, 47 Second

Recently I decided to challenge my self learning python using 100 days of code,.

here I want to share my experience about this course and 100 Days of code challenge then if I want to make online course for QT I can use this experience for making a better course

First week of Code challenge

This week is all beginner lessons but after two weeks intermediate lessons will start and at that moment I’ll be healthy again, I don’t know how I want to balance my network, life and learning but that’s life you’ll always learn when you need to do

# Code Day 1 band name generator:

Best thing about learning new language is going through “Hello World” to me it’s like a new born child or a toddler when he/she wants to learn speaking.

  • replit is restricted in Iran so I have to use VPN every time I want to try codes if you are in Iran you can use Shecan or Proton.
  • I found Thonny debugging amusing.
  • it goes very slow because I have started from basics and
  • finally the first day is finished and it was better than many basic lesson I saw before

# Day 2 tip calculator:

Day 2 of this challenge is about learning data types

  • if I were made this videos I wouldn’t explain some of these basic concepts I always think that people should know this concepts and teaching them is wasting time and that’s why I’m not good at making videos or teaching.
  • BMI calculator was a good simple example for teaching Mathematical Operations
  • I liked the Idea of f-string in python
  • Life in Weeks was a very sad example and somehow make me rethink about doing this challenge
  • motivational message at the end of day 2 was both charming and necessary

# Day 3 Treasure island game

End of the day task is writing a game like Avalon ( text based RPG ) and its purpose is learing conditional statements

  • draw.io is a good replacement for people who doesn’t have Visio
  • may be it was better to say about inequality of float numbers in comparison
  • Introducing modulo with odd and even example was very good
  • ticket example was very easy to understand
  • BMI 2.0 is good because it make you recap BMI 1.0 and also Increase your general knowledge but inside this challenges its better to teach users how to search
  • little gifs are a good way to show expected results
  • about leap year, when you aware students and emphasize on difficulty of an example , they might get afraid and let it go
  • I’m not a flow chart fan, In large and long codes flow charts are not handy I’ll stay with pseudo codes
  • photo bill answer wasn’t optimized and was vague
  • pizza code that I liked is this one

bill = 0;
if extra_cheese == “Y”:
bill +=1

if size == “S” :
bill += 15
if add_pepperoni == “Y”:
bill += 2
if add_pepperoni == “Y”:
bill += 3
if size == “M”:
bill += 20
elif size == “L”:
bill += 25
print (f”Your final bill is: ${bill}”

  • Midlife crisis discount was funny
  • Love calculator as a difficult challenge was the proper place for teaching Stakoverflow.com
  • I really like the ascii art

# Day 4 Today i was busy but being committed to challenge I tried it at the midnight

  • whose paying: in my country the one who invite people out usually pays the bill, it was an easy program but in the firat attempt I used count() instead of len() as a habit of JS and QML lists
  • getemoji.com doesn’t work with Thonny

# Day 5 Python Password generator

  • in average height calculator it was better to make students do the type conversion they could have write something like the code below and they get familiar with variable initializations

student_heights = input(“input a list “).split()
for student in student_heights:
sum += int(student)
print(f”average height is {sum/i}”)

  • Highest score was easier than average height and I think it was better to do it before average height, but it was good for recapping if statement
  • I liked for loop version of C code over Python for loop, that one is understandable on a glimps
  • Haven’t heard about Fizz Buzz game but we have a game in Iran called HOP we say hop instead of buzz and there is no replacement for fizz. I think fizz buzz is the HOP game level 2.
  • PyPass generator was hard to write only by the means of for loops I wrote the code but I didn’t know that you can’t manipulate index in python for loop. here is the reason : python – How to change index of a for loop? – Stack Overflow

# Day 6 Karel the robot

  • I wish they develop Reeborg’s World to support C, C++ and etc
  • this little chunk of challenge is easy to learn
  • hurdle shows the necessity of function and loops
  • why someone who use spaces should get paid more than someone who use tabs? I am a space guy because I can use it with my both thumbs

# Day 7 Hangman

  • the first week is completed with a fantastic challenge like hangman. I love this example and I want to save the code to play it sometime

Second week of Code challenge

As I am getting better and there is no more symptoms of COVID in my life, today I got checked up by our company’s doctor and I’ll get back to work this Monday. the more I get better I learn faster

# Day 8 Caesar cipher

Today is a beautiful snowy day, I installed a fan for my Raspberry Pi and counting days to use it for running my python lessons

  • number of cans was boring and very easy the only challenging part was looking for “math.ceil()” which I was familiar with from JS
  • I think it’s better to write Prime checker using While loop so you can break the first instance which has reminder
  • At first I thought encrypt and decrypt is not challenging enough but overflowing index was interesting as I don’t Like tables as an embedded programmer it showed me when you have enough resources why not to use them
  • about part 10 : Never ever share your dreams

# Day 9 Silent Auction program

  • visualizer on pythonTuter.com is great
  • in the auction example, the same amount of price is not considered
  • I didn’t like this example

# Day 10 Calculator app

  • Docstring concept is one of the best things in python
  • Calling function from dictionary was something I haven’t seen in my previous learnings
  • It really bothers me that she was ignorant about invalid operation input maybe she reserved it for next lessons
  • Although it worked for the first time I think I should write this program again using dictionary and recursive functions

# Day 11 blackjack

  • I’m doing day 11 in day 10 because tomorrow is Yalda and I wont have enough time to do it
  • black jack was a little bit hard

# Day12 number guessing game

# Day13 Debugging

  • I think todays lesson is not necessary and not useful; you can teach debugging between coding in other lessons
  • on the other hand it is a review of previous concepts

# Day 14 Higher Lower Game Project

I am happy to finish second week and now I am finishing beginner part

  • Her guess game solution was very long and complicated but I like the comparison function return part
  • I wrote it by a dictionary of the lists

Third week of Code challenge

This is the start of Intermediate lessons

# Day 15 the Coffee Machine

  • Finally from pencils to pen
  • Coffee maker seems long and confident booster
  • It was enjoyable to use Pycharm
  • Coffee maker was fantastic because you can develop it and write it as you want
  • There is a problem with Angela’s solution, If you pay the exact amount of money it says
'Here is $0 in change'

# Day 16 OOP is here

  • Why someone should make a library called turtle graphic ?! :))
  • Angela gets menu items inside the loop which is not efficient because it’s not going to change

# Day 17 Quize show

  • Her definition of method and class definitions was vague even for me as a C++ developer
  • Chunk size challenges is the success key of this course, they give you motivation and confidence
  • challenge are designed intelligently as soon as you do the challenge you will learn the concept
  • formatting the dictionary is another review, I like the way she review small parts

# Day 18 turtle is back

  • Importing in python is exactly like importing in QML
  • Maybe RGB random color is a better choice than a list of colors
My millions dollars Hirst Spot Painting

# Day 19 Turtle racing

Too much review

I think it’s more learning a library than a language

# Day 20 : Snake Game

  • For loop reverse iteration in python is tricky
  • It’s better to make snake body parts using clone method of turtle

# Day 21: Snake Game continues

  • this week is going to finish with snake game, and it’s awesome to learn so much in this little time
  • you can check body collision inside move function to save hardware resources

Forth week is started (may the forth be with you)

# Day 22: The famous Pong game

It’s fascinating that back then they made this game using transistors and bunch of logic gates. Atari made fantastic things and they were very innovating. Maybe one of things that made me choose to be an electrical engineer is Atari. It was the best way to start third week

# Day 23: Turtle Crossing Game

In this game if you choose random number between -10 and 10 and multiply it by 25 cars will be tidy, otherwise you’ll see collided cars are generated

There is a problem with Angela’s code, after crossing the finish line multiple times< number of cars going to be less and less. It’s better to make some number of cars and take it to start at random y each time it goes off the screen

There is also another bug, you can go backward out of screen

# Day 24: Openning files

relative file path explanation was awful, I’ll explain it by referring to address when we are posting a letter or getting a taxi

# Day 25 Panda (first quarter is passed)

I have a headache today and doing this lesson just to be committed on doing my lessons. I may redo it tomorrow

# Day 26 NATO Phonetic  Alphabet

Man vs Machines, old days computing power was so high and many companies used a lot of man hour to optimize codes and make benefits of less expensive computers. now chips are getting cheaper every day and languages like python help companies to optimize expenses by reducing man hour and time to market costs. what happens in future? I think artificial intelligence will help programmers or designers write less codes and computing power will reduce needed man hour.

If you want to write list comprehensions in assembly you would spend a couple of days writing and debugging, in C and C++ it takes a couple of minutes but in python you can write it in some seconds

Todays challenge was hard for me and I re did some previous lessons to do this challenge

# Day 27 TKinter

In term of GUI I think QT is much much more advanced and fortunately it’s going to support Python

# Day 28 Pomodoro

looking forward to use my own Pomodoro app when I am working

talking about things like Color Palettes for Designers and Artists – Color Hunt makes this course useful and lovely

I liked this lesson

Fifth week is started and I’m loving this type of learning

I challenge my self every day at the most exhausted time of the day after work. actually I’m thinking about changing my work field from electronics to computer programming

# Day 29 building password manager

It was neither easy nor difficult, why lessons are finishing very suddenly

# Day 30 (first month) password manager improved

This course repel has a very good written unit testing, I wish they were some lessons about TDD and unit testing in this course

when I tried part 8 I encountered an exception because JSON file was empty.

After a couple of minutes dealing I found except “json.decoder.JSONDecodeError:” works for this type of errors

In part 9 again empty file exception is neglected

Also I downloaded her final code and the layout was like this for me. I don’t know why but my layout is not the same

# Day 31 flash card app

If you make text before creating image you wont see the image, it’s what happened to me and I waste some time checking for any typo and then remembered something from QML “z” attribute

# Day 32 SMTP & auto birthday email sender

It’s nice to use smtp in python, Also www.pythonanywhere.com is very useful.

today I need a byte to Manchester encoder for one of my embedded works so I tried python and made this code

with open("lookup_table.txt", "a") as table:
for byte in range(256):
byte_bin = format(byte,"08b")
manchester = ""
for bit in byte_bin:
if bit == "1":
manchester += "10"
elif bit == "0":
manchester += "01"
output = f"{format(byte,'02d')} : {manchester} \n"

# Day 33 API

Now I feel that I can do things with python and I want to learn eagerly .

API description as a kitchen is fantastic and easy to remember

# Day 34 GUI trivia

I got cold feet, I am getting very busy at work and coming home exhausted, maybe I need some rest.

and I decided to stop counting weeks and days

# Day 35 Rain alert SMS

I couldn’t finish today’s lesson because Twillio suspend my account as I live in Iran.

Although it’s getting harder to stay motivated after a while, fun challenges in this course help you continue and tickles you curiosity to keep on, another best thing about this course is challenges are bite size so they are nor hard neither easy

API List: A public list of free APIs for programmers

# Day 36 Stock alert

If your request doesn’t work, try printing “response.request.url” and compare it with documentations, for me K in the key was upper case

# Day 37 Habit tracker

One thing that go wrong in this type of teaching is APIs going out reach, for me pixe.la API didn’t work and I spent a lot of time trying and debugging after a while I downloaded complete lesson from repel and I saw it doesn’t work too. both of these codes return error 400 and I don’t know how to complete this lesson

# Day 38

couldn’t work with sheety

# Day 39

you can use emails if you have problems with Twilio as I

# Day 40 another API

I am very happy that today is last part of API’s

# Day 41 CV website (HMTL)

I love Atom, it’s very user friendly

To remember: docs.emmet.io/cheat-sheet

✔️ ❤️ ★ Unicode Character Table (unicode-table.com)

# Day 42 (HMTL)

I didn’t enjoy day 41 and day 42 they were daunting and it was hard for me to keep up with these lessons

# Day 43 CV website (CSS)

More than 17 years I was afraid of CSS but today’s lesson made me feel deeply regretful

📙 Emojipedia — 😃 Home of Emoji Meanings 💁👌🎍😍

favicon.ico Generator

day 44: CSS

Day 44 is very long and I’m going to do it in 3 days

Pesticide is not working on EDGE browser

Such a long lesson is very boring, very very boring. I mean booooooooooooooooooooooooring

Day 45 back to python

If you get this error: unicodeDecodeError: ‘charmap’ codec can’t decode byte html parser python

Try this solution: with open("website.html", encoding='utf8') as site:

Day 46: billboard 100

Hardest part of doing this challenge was finding this class tag


Day 47: amazon price tracker

Most of the methods are deprecated

instead of find_elements_by_css_selector() you’d better use find_element(by=’css selector’, value=’#articlecount a’).

here is the arguments you can use with by:

CLASS_NAME = ‘class name’

CSS_SELECTOR = ‘css selector’

ID = ‘id’

LINK_TEXT = ‘link text’

NAME = ‘name’

PARTIAL_LINK_TEXT = ‘partial link text’

TAG_NAME = ‘tag name’

XPATH = ‘xpath’

Day 54: Flask


set FLASK_APP=hello.py doesn't work try: $env:FLASK_APP = "Hello.py"

Day 55: I am asking my host to provide a host with python support

0 %
0 %
0 %
0 %
0 %
100 %
Emad Bahra

Average Rating

5 Star
4 Star
3 Star
2 Star
1 Star

Leave a Reply

Your email address will not be published.