Skip to main content

365 DAYS OF CODE - DAY 18

The first documented bug was first found by Grace Hopper.

Steps in Debugging (Tips and Techniques):

Describe the Problem – If the problem is messy and it is not well understood in your head, it is almost impossible to debug it. You have to untangle the problem and try to make sense of what is going on.

Reproduce the Bug – Bugs that show up occasionally are quite difficult to debug. Reproducing the bug helps you discover the problem. (Not too understandable but ok)

Remember on day 2 when I said I was a computer sometimes?? The next technique is to

Play Computer: The skill of pretending to be a computer, reading through your code and imagining what you are going to do each time is really useful especially when you are debugging.

When the editor or console is giving you an error, fix them before you continue. On the console, copy the error message that is not specific to your code and google search adding python to it to be specific. Stack Overflow is a place that offers good fix suggestions.

Try/Except block is used to catch a potentially dangerous code and trap it in a try block, then create an except block to counter it. Probably print out something to inform the user of the situation.

Example from the course:

try:
    age =
int(input("How old are you?"))
except ValueError:
   
print("You have typed in a an invalid number. Please try again with a numerical response such as 15.")
    age =
int(input("How old are you?"))

if age > 18:
   
print(f"You can drive at age {age}.")

 

Try to help people debug their code.

Use the print() statement.

Use a debugger in PyCharm

A breakpoint is created by clicking on the gutter of our code (the numbers located on the LHS i.e., the line numbers). The breakpoint puts a break on the code at that particular line.

Take a break

Ask a friend

Run your code often, confirm that it is actually doing what you want it to do

Ask Stack Overflow

Final notes:

I was going to write out useful notes from today's debugging class but got tired at the later part of the class :(

But, I managed to break down tomorrow's exercise into workable comments.

:)

Comments

Popular posts from this blog

Some Exercises on Python Turtle Module

Day 44 Drawing dotted lines using the turtle module: from turtle import Turtle, Screen maddy = Turtle() maddy.shape( "turtle" ) maddy.color( "green" ) maddy.pencolor( "black" ) for i in range ( 50 ): maddy.forward( 3.5 ) maddy.penup() maddy.forward( 3.5 ) maddy.pendown() screen = Screen() screen.exitonclick() Drawing shapes: from turtle import Turtle, Screen import random colors = [ "red" , "green" , "blue" , "yellow" , "cyan" , "magenta" , "orange" , "violet" , "brown" , "black" ] maddy = Turtle() maddy.shape( "turtle" ) maddy.color( "green" ) draw = True sides = 2 while draw: maddy.pencolor(random.choice(colors)) if sides <= 10 : sides += 1 for i in range (sides): maddy.forward( 70 ) maddy.right( 360 / sides) else : draw = False screen = Screen() screen.exito...

Extracting Colors from Images in Python using the colorgram.py module

Day 45 My Code: import colorgram colors = colorgram.extract( "image.jpg" , 1000 ) color_list = [] for _ in range ( len (colors)): color_list.append(colors[_].rgb) print (color_list) Output: [Rgb(r=250, g=234, b=220), Rgb(r=216, g=103, b=19), Rgb(r=67, g=171, b=214), Rgb(r=231, g=167, b=72), Rgb(r=200, g=122, b=181), Rgb(r=23, g=11, b=6), Rgb(r=251, g=141, b=158), Rgb(r=213, g=98, b=71), Rgb(r=252, g=238, b=243), Rgb(r=245, g=193, b=65), Rgb(r=249, g=252, b=251), Rgb(r=183, g=135, b=53), Rgb(r=5, g=19, b=31), Rgb(r=18, g=6, b=11), Rgb(r=247, g=164, b=142), Rgb(r=235, g=245, b=247), Rgb(r=58, g=106, b=129), Rgb(r=122, g=161, b=143), Rgb(r=5, g=10, b=7), Rgb(r=117, g=80, b=101), Rgb(r=90, g=67, b=27), Rgb(r=191, g=97, b=119), Rgb(r=81, g=145, b=168), Rgb(r=92, g=52, b=43), Rgb(r=162, g=204, b=211), Rgb(r=97, g=42, b=72), Rgb(r=29, g=74, b=92), Rgb(r=90, g=158, b=150), Rgb(r=76, g=100, b=88), Rgb(r=43, g=63, b=92), Rgb(r=170, g=204, b=202), Rgb(r=123, g=117, b=151), Rgb(r=48,...

365 DAYS OF CODE - DAY 0

DAY 0 THOUGHT PROCESS Day Zero of the 365 days of code highlights my state of mind before the actual start of the program. Yes, it is a program. A program I set for myself to make sure I actually put in the work on a daily. I have tried coding before but have never been quite consistent with it. A friend advised me to try coding daily if I really wanted to be great at it someday. He also stated that it would take a long time and I should be prepared for it. During the same period, I noticed he was on a year's worth streak of chess which made me realize I could also do the same but with coding. I signed up for the 100 days of code course on Udemy and plan on starting my coding journey with Angela Yu and the thousands of students also taking the course. I also drafted my own copy of the pledge, copied and modified from the 100 Days of Python Pledge from the course materials. It is currently pasted on my wall as a constant reminder. Finally, I will also be recording my process here...