i-তম এলিমেন্ট পর্যন্ত ক্যুমুলেটিভ সাম (cumulative sum) বলতে 0-তম থেকে i-তম এলিমেন্ট পর্যন্ত মোট যোগফলকে বোঝায়।
প্রোগ্রামের স্টেটমেন্ট হলো একটি দিয়ে যেওয়া লিস্ট থেকে একটি নতুন লিস্ট তৈরি করা। নতুন লিস্টের i-তম এলিমেন্ট হবে প্রদত্ত লিস্টের 0 থেকে i-তম এলিমেন্ট পর্যন্ত ক্যুমুলেটিভ সাম।
উদাহরণস্বরূপ,
ইনপুট
[10, 20, 30, 40, 50]
আউটপুট
[10, 30, 60, 100, 150]
ইনপুট
[1, 2, 3, 4, 5]
আউটপুট
[1, 3, 6, 10, 15]
নিচে ইনপুট লিস্ট ব্যবহার করে ক্যুমুলেটিভ সাম লিস্ট তৈরির একটি প্রোগ্রাম দেওয়া হলো:
ইনপুট লিস্ট
cumSum()ফাংশনে পাস করা হয়েছে যা ক্যুমুলেটিভ সাম লিস্ট রিটার্ন করে।একটি খালি লিস্ট
cum_listডিক্লেয়ার করা হয়েছে যেটিতে আমরা এলিমেন্ট অ্যাপেন্ড করে ক্যুমুলেটিভ সাম লিস্ট তৈরি করব।একটি সম ভেরিয়েবল
sm = 0ইনিশিয়ালাইজ করা হয়েছে।ইনপুট লিস্টের ওপর ইটারেট শুরু করা হয়েছে, প্রতিটি ইটারেশনে সম ভ্যালু আগের ভ্যালু + বর্তমান এলিমেন্ট হিসেবে ইনক্রিমেন্ট করা হয়েছে।
প্রতিটি ইটারেশনে সম ভ্যালু
cum_list-এ অ্যাপেন্ড করা হয়েছে।এভাবে, i-তম ইটারেশনে, সম ভেরিয়েবলে i-তম এলিমেন্ট পর্যন্ত (ইনক্লুসিভ) সম থাকবে, যা
cum_list-এ অ্যাপেন্ড হবে।পুরো লিস্টের মধ্য দিয়ে ইটারেট করার পর
cum_listরিটার্ন করা হয়েছে।
উদাহরণ
def cumSum(s):
sm = 0
cum_list = []
for i in s:
sm = sm + i
cum_list.append(sm)
return cum_list
a = [10, 20, 30, 40, 50]
print(cumSum(a))
আউটপুট
[10, 30, 60, 100, 150]