본문 바로가기
Study (Data Science)/Python

참고) 최댓값, 최솟값 (함수에서 return 잘 활용하는법)

by 콜라찡 2022. 11. 29.
list_data = [30, 20, 30, 40]

def minmax_function(x_list):       # 1번 함수에 최솟값, 최댓값 함수를 품는다.
        
    def inner_min_function(x):     # 1-1 최솟값
        length = len(x)
        min_result = x[0]
        for i in range(length):
            if min_result > x[i]:
                min_result = x[i]
        return min_result          # "인덱스별" 최솟값 리턴받음. 계속 갱신하게되고 제일 마지막값남음.
    
    def inner_max_function(x):     # 1-2 최댓값
        length = len(x)
        max_result = x[0]
        for i in range(length):
            if max_result < x[i]:
                max_result = x[i]
        return max_result          # "인덱스별" 최댓값 리턴받음 1-2 종료
        
    x_min = inner_min_function(x_list)  # 최솟값의 가장 마지막 return값. 즉 list의 최솟값.
    x_max = inner_max_function(x_list)  # list의 최댓값
    
    return x_min, x_max   # 1번함수의 끝 이렇게 두 값을 마지막으로 리턴받겠다.

min_value, max_value = minmax_function(list_data) # 그렇게 받은 두 값을 각각의 변수명으로 저장

print("최솟값은 : ", min_value)
print("최댓값은 : ", max_value)

 

혹은,

넣을 인수가 케바케로 갯수가 다를 때에는,,

첫번째는 네과목 점수가 다있고, (인자 4개)

두번째는 두과목만 (인자2개) 있는데

같은 함수를 실행시키려고 한다.

그럴땐 인자의 갯수가 가변적이기 때문에

함수를 정의할 때 가변인수 args,kwargs를 쓰는데

지금 값들이 다 키=값 이 아니라 값만 있으니 args를 쓰고

언패킹 해야하니 언패킹용 도구 * 을 쓰고

max, min함수로 각각 답을 리턴받으면 된다.

 

코드 간단하게 짜자.. 더 간단하고 더 명료하게..

 

728x90

댓글