Add day 13 debugging exercises and README

Add src/main.py with the six debugging exercises (describe the problem,
reproduce the bug, play computer, fix the errors, print is your friend,
use a debugger), each with its fix noted. Document them in the README.
This commit is contained in:
2026-10-04 22:49:27 +08:00
parent f9b811c565
commit 5af3a58578
2 changed files with 84 additions and 0 deletions
+51
View File
@@ -0,0 +1,51 @@
############DEBUGGING#####################
# Describe Problem
# Answer: Range never reach 20 as range don't include 20. Only up to
# def my_function():
# for i in range(1, 20):
# if i == 20:
# print("You got it")
# my_function()
# # Reproduce the Bug
# from random import randint
# dice_imgs = ["❶", "❷", "❸", "❹", "❺", "❻"]
# dice_num = randint(1, 6)
# # print(dice_imgs[dice_num]) # list index out of range
# print(dice_imgs[dice_num - 1]) # The corrected code
# # Play Computer
# year = int(input("What's your year of birth?"))
# if year > 1980 and year < 1994:
# print("You are a millenial.")
# # elif year > 1994:
# elif year >= 1994: # Answer corrected code (other solution, change the other if line)
# print("You are a Gen Z.")
# # Fix the Errors
# # age = input("How old are you?")
# age = int(input("How old are you?")) # Answer: convert input to int
# if age > 18:
# print("You can drive at age {age}.")
# #Print is Your Friend
# pages = 0
# word_per_page = 0
# pages = int(input("Number of pages: "))
# # word_per_page == int(input("Number of words per page: "))
# word_per_page = int(input("Number of words per page: ")) # Answer
# total_words = pages * word_per_page
# print(total_words)
# # Use a Debugger
# def mutate(a_list):
# b_list = []
# for item in a_list:
# new_item = item * 2
# b_list.append(new_item) # Answer: indent code
# # b_list.append(new_item)
# print(b_list)
#
#
# mutate([1, 2, 3, 5, 8, 13])