• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

선택정렬 최솟값_인덱스 부분 질문입니다.

21.02.14 23:05 작성 조회수 96

0

def 최솟값_인덱스(l):
    인덱스 = 0
    비교값 = l[0]
    for i in  range(len(l)):
        if l[i]>비교값:
            인덱스 = i
        return 인덱스

print(최솟값_인덱스([5,10,66,77,54,1,32,11,15,2]))

동영상에선 인덱스 = 0 부분이 없지만 파이썬으로 실행을 해보려 하니깐 전에 선언을 해야된다는 오류가 뜨는 것 같아요

그리고 영상에서는 print(최솟값(입력값))으로 보여주는데 함수명은 최솟값_인덱스로 되어있어서 혼란스럽네요

어떤 원리로 되는건가요?

답변 1

답변을 작성해보세요.

0

안녕하세요, 제주코딩베이스캠프입니다 :)

먼저 질문해주신 소스코드에 따라서 인덱스=0 에서 오류가 생기는 이유는 return 인덱스 부분이 for문 안에 들어가 있기 때문입니다. 아래의 소스코드를 참고해주세요.

두번째로 영상에서는 print(최솟값(입력값))으로 보여주는데 함수명은 최솟값_인덱스로 되어 있습니다. 말씀해주신대로 print(최솟값_인덱스(입력값)) 으로 해 주셔야 합니다. 영상에서 소스코드가 실행된 이유는 바로 위에서 최솟값이라는 함수를 만들었기 때문입니다.

입력값=[5,10,66,77,54,1,32,11,15,2]

def 최솟값_인덱스(l):
    비교값 = l[0]
    for i in range(len(l)):
        if l[i]>비교값:
            인덱스 = i
    return 인덱스

print(최솟값_인덱스(입력값))

추가로 궁금하신 점이 있거나 답변이 충분하지 않았다면 답글 부탁드립니다. 감사합니다.