Computer >> Máy Tính >  >> Lập trình >> Python

Python - Cho một danh sách số nguyên, tìm số tối đa thứ ba nếu nó tồn tại

Khi được yêu cầu tìm giá trị lớn nhất thứ ba trong danh sách các số nguyên, một phương thức được định nghĩa lấy danh sách làm tham số. Nó khởi tạo một danh sách các số dấu phẩy động đến vô cùng. Các giá trị trong danh sách được lặp lại và so sánh với các giá trị vô hạn. Tùy thuộc vào kết quả, đầu ra được hiển thị trên bảng điều khiển.

Ví dụ

Dưới đây là một minh chứng về điều tương tự

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)

Đầu ra

The list is :
[45, 31, 78, 9, 0, 54, 12, 18]
The third maximum number is :
45

Giải thích

  • Phương thức có tên là ‘third_max_num’ được xác định sẽ nhận một danh sách làm tham số.

  • Danh sách ba giá trị dấu phẩy động của vô cực được xác định.

  • Các giá trị trong danh sách được lặp lại và nếu số trong danh sách không có trong danh sách các số vô hạn, giá trị trong danh sách được so sánh với phần tử đầu tiên của danh sách vô hạn.

  • Nếu phần tử danh sách lớn hơn, thì đầu ra là danh sách số, giá trị thứ nhất và thứ hai từ danh sách vô hạn.

  • Điều tương tự cũng được thực hiện cho cả ba giá trị vô hạn của danh sách.

  • Nếu giá trị vô hạn cuối cùng xuất hiện trong đầu ra cuối cùng, thì giá trị tối đa của những con số này được hiển thị dưới dạng đầu ra.

  • Bên ngoài hàm, một danh sách được xác định và hiển thị trên bảng điều khiển.

  • Phương thức được gọi bằng cách chuyển danh sách này dưới dạng tham số.

  • Đầu ra được hiển thị trên bảng điều khiển.