정수 목록에서 세 번째 최대값을 찾아야 하는 경우 목록을 매개 변수로 사용하는 메서드가 정의됩니다. 부동 소수점 숫자 목록을 무한대로 초기화합니다. 목록의 값은 반복되고 무한 값과 비교됩니다. 결과에 따라 콘솔에 출력됩니다.
예
아래는 동일한 데모입니다.
def third_max_num(my_num): my_result = [float('-inf'), float('-inf'), float('-inf')] for num in my_num: if num not in my_result: if num > my_result[0]: my_result = [num, my_result[0], my_result[1]] elif num > my_result[1]: my_result = [my_result[0], num, my_result[1]] elif num > my_result[2]: my_result = [my_result[0], my_result[1], num] if float('-inf') in my_result: print(max(my_num)) else: print(my_result[2]) my_list = [45, 31, 78, 9, 0, 54, 12, 18] print("The list is :") print(my_list) print("The third maximum number is :") third_max_num(my_list)
출력
The list is : [45, 31, 78, 9, 0, 54, 12, 18] The third maximum number is : 45
설명
-
목록을 매개변수로 사용하는 'third_max_num'이라는 메서드가 정의되어 있습니다.
-
무한대의 세 가지 부동 소수점 값 목록이 정의됩니다.
-
목록의 값은 반복되며 목록의 숫자가 무한 목록에 없으면 목록의 값을 무한 목록의 첫 번째 요소와 비교합니다.
-
목록 요소가 더 크면 무한 목록의 첫 번째 및 두 번째 값인 숫자 목록이 출력됩니다.
-
목록의 세 가지 무한 값 모두에 대해 동일한 작업이 수행됩니다.
-
최종 출력에 무한 값이 최종적으로 존재하는 경우 이 숫자의 최대값이 출력으로 표시됩니다.
-
함수 외부에서 목록이 정의되고 콘솔에 표시됩니다.
-
이 목록을 매개변수로 전달하여 메서드를 호출합니다.
-
출력은 콘솔에 표시됩니다.