রিকার্শন টেকনিক ব্যবহার করে একটি নেস্টেড লিস্টের টোটাল সম বের করতে একটি ইউজার-ডিফাইন্ড মেথড ব্যবহার করা হয়, যা লিস্টকে প্যারামিটার হিসেবে নেয়।
রিকার্শন বড় সমস্যায় ছোট ছোট অংশে ভাগ করে ফলাফল বের করে, এবং এই অংশগুলোকে কম্বাইন করে বড় সমস্যার সমাধান দেয়।
একটি লিস্ট হেটেরোজিনাস ভ্যালু সংরক্ষণ করতে ব্যবহার করা যায়।
উদাহরণ
নিচে ডেমোстран্স্ট্রেশন দেওয়া হলো:
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' নামে একটি মেথড সংজ্ঞায়িত করা হয়েছে, লিস্ট প্যারামিটার হিসেবে।
- প্রাথমিকভাবে, একটি ভেরিয়েবল ০-এ অ্যাসাইন করা হয়েছে।
- লিস্টের এলিমেন্টগুলো ইটারেট করা হয়েছে, এবং যদি তাদের টাইপ ম্যাচ করে, তবে লিস্টের এলিমেন্টগুলো যোগ করা হয়েছে, এবং মেথডটি আবার কল করা হয়েছে।
- অন্যথায়, এলিমেন্টগুলো শুধু একটি ভেরিয়েবলে যোগ করা হয়েছে।
- এই ভেরিয়েবলটি আউটপুট হিসেবে কনসোলে ডিসপ্লে করা হয়েছে।
- ফাংশনের বাইরে, নিচের অপারেশনগুলো হয়েছে:
- নেস্টেড লিস্ট সংজ্ঞায়িত করা হয়েছে, এবং কনসোলে ডিসপ্লে করা হয়েছে।
- মেথডটি এই লিস্ট পাস করে কল করা হয়েছে।
- আউটপুট কনসোলে ডিসপ্লে করা হয়েছে।