Debugging🪲
Reproduce the Bug
randint는 a와 b 사이의 정수를 무작위로 반환함(양쪽 끝의 값도 포함)
리스트는 0부터 세기 때문에 범위를 (0,5)로 수정해야 함
수정된 코드
from random import randint
dice_imgs = ["❶", "❷", "❸", "❹", "❺", "❻"]
dice_num = randint(0, 5)
print(dice_imgs[dice_num])
컴퓨터 입장에서 생각해보기
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
- 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()구문으로 버그찾기
Use a Debugger
디버거 사용하기
- Thonny
- 웹 버전 python tutor
Debugging: Final Tips
- 휴식.. 차 마시거나 눈 붙여랔
- 해도해도 모르면 주변 사람들에게 물어봐라
- 코드를 자주 실행해봐라
- 스택 오버플로우 사이트 활용