Lecture 17 문제 풀다가
아래 cal_max_min 함수에서 return문 탭 잘못 들여써서
계산이 이상하게 나왔습니다.
(이렇게 되면 max 값이던 min 값이던 data의 맨 첫번째 값이 되죠 TT)
파이썬에서 디버깅 몰랐으면 한참 해맬뻔 했습니다.
이런거 보면 차라리 C 처럼 { } 로 둘러싸는 것도 괜찮을 듯 합니다. TT
def cal_max_min(data, max=True):
target_value = None
for sample_idx, sample in enumerate(data):
if max:
if target_value == None or sample > target_value:
target_value = sample
else:
if target_value == None or sample < target_value:
target_value = sample
return target_value
if __name__ == '__main__':
from exercise59 import get_random_scores
scores = get_random_scores()
score_max = cal_max_min(scores)
score_min = cal_max_min(scores, max=False)
print(f"{score_max = } / {score_min = }")
안녕하세요!
연습하기 좋은 실수 하신 것 같습니다😃
실제로 말씀하신 실수도 실무에서 많이 발생하고, 코드가 길어지면 직접 찾기 어려운 케이스가 될 것 같습니다
디버깅 실전연습 한 번 제대로 하셨다고 생각하시면 좋을 것 같습니다!
답글
aerolbn
2024.12.08감사합니다^^
진짜 파이썬 디버깅 안배웠으면 해결하는데 시간 많이걸렸을 듯 합니다
역시 최고의 파이썬 인공지능 커리큘럼 입니다 ^^