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
'Study (Data Science) > Python' 카테고리의 다른 글
참고) map + lambda (0) | 2022.11.29 |
---|---|
참고) iterable, iterator 차이점 (0) | 2022.11.29 |
참고) Enumerate/Yield/Generator/Try/Accept/Multiprocessing (0) | 2022.11.29 |
프로그래머스) 배열의 평균값, 중복된 숫자갯수, 피자나눠먹기 (0) | 2022.11.28 |
프로그래머스) 머쓱이네 양꼬치 (0) | 2022.11.28 |
댓글