Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python - 정수 목록이 주어지면 세 번째 최대 숫자가 있으면 찾습니다.

<시간/>

정수 목록에서 세 번째 최대값을 찾아야 하는 경우 목록을 매개 변수로 사용하는 메서드가 정의됩니다. 부동 소수점 숫자 목록을 무한대로 초기화합니다. 목록의 값은 반복되고 무한 값과 비교됩니다. 결과에 따라 콘솔에 출력됩니다.

아래는 동일한 데모입니다.

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'이라는 메서드가 정의되어 있습니다.

  • 무한대의 세 가지 부동 소수점 값 목록이 정의됩니다.

  • 목록의 값은 반복되며 목록의 숫자가 무한 목록에 없으면 목록의 값을 무한 목록의 첫 번째 요소와 비교합니다.

  • 목록 요소가 더 크면 무한 목록의 첫 번째 및 두 번째 값인 숫자 목록이 출력됩니다.

  • 목록의 세 가지 무한 값 모두에 대해 동일한 작업이 수행됩니다.

  • 최종 출력에 무한 값이 최종적으로 존재하는 경우 이 숫자의 최대값이 출력으로 표시됩니다.

  • 함수 외부에서 목록이 정의되고 콘솔에 표시됩니다.

  • 이 목록을 매개변수로 전달하여 메서드를 호출합니다.

  • 출력은 콘솔에 표시됩니다.