เมื่อต้องการค้นหาค่าสูงสุดอันดับสามในรายการจำนวนเต็ม จะมีการกำหนดเมธอดที่รับรายการเป็นพารามิเตอร์ มันเริ่มต้นรายการตัวเลขทศนิยมเป็นอนันต์ ค่าในรายการจะถูกทำซ้ำ และเปรียบเทียบกับค่าอนันต์ ขึ้นอยู่กับผลลัพธ์ ผลลัพธ์จะแสดงบนคอนโซล
ตัวอย่าง
ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน
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' ซึ่งรับรายการเป็นพารามิเตอร์
-
รายการค่าจุดทศนิยมสามค่าของอินฟินิตี้ถูกกำหนดไว้แล้ว
-
ค่าในรายการจะถูกทำซ้ำ และถ้าตัวเลขในรายการไม่มีอยู่ในรายการจำนวนอนันต์ ค่าในรายการจะถูกเปรียบเทียบกับองค์ประกอบแรกของรายการอนันต์
-
หากองค์ประกอบรายการมากกว่า ผลลัพธ์จะเป็นรายการของตัวเลข ค่าแรกและค่าที่สองจากรายการอนันต์
-
ทำสิ่งเดียวกันสำหรับค่าอนันต์ทั้งสามของรายการ
-
หากค่าอนันต์ปรากฏอยู่ในผลลัพธ์สุดท้าย ค่าสูงสุดของตัวเลขเหล่านี้จะแสดงเป็นเอาต์พุต
-
นอกฟังก์ชัน รายการถูกกำหนดและแสดงบนคอนโซล
-
เมธอดนี้เรียกโดยส่งรายการนี้เป็นพารามิเตอร์
-
เอาต์พุตจะแสดงบนคอนโซล