যখন পুনরাবৃত্তি কৌশল ব্যবহার করে একটি নেস্ট তালিকার মোট যোগফল খুঁজে বের করার প্রয়োজন হয়, তখন একটি ব্যবহারকারী সংজ্ঞায়িত পদ্ধতি ব্যবহার করা হয়, যা তালিকাটিকে একটি প্যারামিটার হিসাবে নেয়৷
পুনরাবৃত্তি বড় সমস্যার ছোট বিটগুলির আউটপুট গণনা করে, এবং এই বিটগুলিকে একত্রিত করে বড় সমস্যার সমাধান দেয়৷
ভিন্নধর্মী মান (অর্থাৎ পূর্ণসংখ্যা, ফ্লোটিং পয়েন্ট, স্ট্রিং ইত্যাদির মতো যেকোনো ডেটা টাইপের ডেটা) সংরক্ষণ করতে একটি তালিকা ব্যবহার করা যেতে পারে।
উদাহরণ
নীচে একই −
এর জন্য একটি প্রদর্শন রয়েছে৷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-এ বরাদ্দ করা হয়।
- তালিকার উপাদানগুলিকে পুনরাবৃত্ত করা হয়, এবং যদি তাদের প্রকার মেলে, তালিকার উপাদানগুলি যোগ করা হয়, এবং পদ্ধতিটিকে আবার বলা হয়৷
- অন্যথায়, উপাদানগুলি শুধুমাত্র একটি ভেরিয়েবলে যোগ করা হয়।
- এই ভেরিয়েবলটি কনসোলে আউটপুট হিসাবে প্রদর্শিত হয়।
- ফাংশনের বাইরে, নিচের কাজগুলো হয় -
- নেস্টেড তালিকা সংজ্ঞায়িত করা হয়, এবং কনসোলে প্রদর্শিত হয়।
- পদ্ধতিটিকে প্যারামিটার হিসাবে এই তালিকাটি পাস করে বলা হয়।
- আউটপুট কনসোলে প্রদর্শিত হয়।