Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรม Python หาผลรวม Nested List ด้วย Recursion


เมื่อต้องการหาผลรวมของ nested list โดยใช้ Recursion ใช้เมธอดที่ผู้ใช้กำหนด รับลิสต์เป็นพารามิเตอร์

Recursion คำนวณผลลัพธ์ของส่วนเล็กๆ ของปัญหาใหญ่ และรวมส่วนเหล่านี้เพื่อให้คำตอบของปัญหาใหญ่

ลิสต์สามารถเก็บค่าที่หลากหลายได้

ตัวอย่าง

def recursion_sum(my_list):
    my_total = 0
    for elem in my_list:
        if type(elem) == type([]):
            my_total = my_total + recursion_sum(elem)
        else:
            my_total = my_total + elem
    return my_total

my_list = [[2, 3], [7, 9], [11, 45], [78, 98]]
print("The list elements are :")
print(my_list)
print("The sum is :")
print(recursion_sum(my_list))

ผลลัพธ์

The list elements are : [[2, 3], [7, 9], [11, 45], [78, 98]]
The sum is : 253

คำอธิบาย

  • กำหนดเมธอด 'recursion_sum' รับลิสต์เป็นพารามิเตอร์
  • เริ่มต้นตัวแปร = 0
  • วนลูปองค์ประกอบในลิสต์ หากชนิดข้อมูลตรงกับลิสต์ ให้บวกองค์ประกอบในลิสต์และเรียกเมธอดซ้ำ
  • มิฉะนั้น บวกองค์ประกอบเข้าตัวแปร
  • แสดงตัวแปรเป็นเอาต์พุทบนคอนโซล
  • นอกฟังก์ชัน ทำดังนี้:
  • กำหนด nested list และแสดงบนคอนโซล
  • เรียกเมธอดโดยส่งลิสต์นี้เป็นพารามิเตอร์
  • แสดงเอาต์พุทบนคอนโซล