Debugging🪲

Reproduce the Bug

1

randint는 a와 b 사이의 정수를 무작위로 반환함(양쪽 끝의 값도 포함)
리스트는 0부터 세기 때문에 범위를 (0,5)로 수정해야 함

수정된 코드

from random import randint
dice_imgs = ["❶", "❷", "❸", "❹", "❺", "❻"]
dice_num = randint(0, 5)
print(dice_imgs[dice_num])


컴퓨터 입장에서 생각해보기

2

1994년생이 포함되지 않음

수정된 코드

year = int(input("What's your year of birth?"))
if year > 1980 and year < 1994:
  print("You are a millenial.")
elif year >= 1994:
  print("You are a Gen Z.")


Fix the Errors

3

  • age를 int 타입으로 바꿔야 함
    -if문 안의 조건 들여쓰기 + f-string으로 써주기

f-string(formatted string literals)
f-string은 파이썬 3.6부터 도입된 문자열 포매팅 방법으로, 문자열 내에 변수나 표현식의 값을 직접 삽입할 수 있게 해줌

수정된 코드

age = int(input("How old are you?"))
if age > 18:
  print(f" You can drive at age {age}.")


print()구문으로 버그찾기

4


Use a Debugger

디버거 사용하기


Debugging: Final Tips

  • 휴식.. 차 마시거나 눈 붙여랔
  • 해도해도 모르면 주변 사람들에게 물어봐라
  • 코드를 자주 실행해봐라
  • 스택 오버플로우 사이트 활용


실수를 두려워하지 않기!

5