inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[PY 0204] 인공지능을 위한 파이썬 레벨3 - 함수

Lecture.17 Default Parameters Practices1

if 문 들여쓰기 잘못하면 이런일이 생깁니다. TT

320

aerolbn
0

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 = }")

python 인공지능(ai)

답변 1

0

공대형아(신경식)

안녕하세요!

연습하기 좋은 실수 하신 것 같습니다😃

실제로 말씀하신 실수도 실무에서 많이 발생하고, 코드가 길어지면 직접 찾기 어려운 케이스가 될 것 같습니다

디버깅 실전연습 한 번 제대로 하셨다고 생각하시면 좋을 것 같습니다!

0

aerolbn

감사합니다^^

진짜 파이썬 디버깅 안배웠으면 해결하는데 시간 많이걸렸을 듯 합니다

역시 최고의 파이썬 인공지능 커리큘럼 입니다 ^^

강의 연장 문의

0

53

0

강의연장 문의

0

53

0

예전 기출 강의도 반드시 봐야되나요??

0

128

1

챌린지 교재문의

1

116

1

학습 순서 문의드립니다

0

113

1

노션 비즈니스 요금제로 워크페이스 새로 하나 생성해서 수업 따라하면 되는지요?

0

150

2

26년1회 실기 합격할수 있을까??ㅠㅠ

0

174

1

백준 서비스 종료

0

274

1

노베이스 초보자

0

171

1

드뎌 석사 졸업합니다. ^^

0

253

1

이번에 출판될 책에 대하여 질문드립니다.

0

216

1

질문이 있습니다

0

213

1