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

โปรแกรม Python เพื่อค้นหาผลรวมทั้งหมดของรายการที่ซ้อนกันโดยใช้การเรียกซ้ำ


เมื่อจำเป็นต้องหาผลรวมของรายการซ้อนโดยใช้เทคนิคการเรียกซ้ำ ผู้ใช้จะใช้วิธีที่กำหนด ซึ่งจะรับรายการเป็นพารามิเตอร์

การเรียกซ้ำจะคำนวณเอาต์พุตของบิตขนาดเล็กของปัญหาที่ใหญ่กว่า และรวมบิตเหล่านี้เข้าด้วยกันเพื่อแก้ปัญหาที่ใหญ่กว่า

สามารถใช้รายการเพื่อเก็บค่าที่แตกต่างกัน (เช่น ข้อมูลของประเภทข้อมูลใดๆ เช่น จำนวนเต็ม จุดลอยตัว สตริง และอื่นๆ)

ตัวอย่าง

ด้านล่างนี้เป็นการสาธิตสำหรับสิ่งเดียวกัน -

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