ผลรวมสะสม (Cumulative Sum) จนถึงองค์ประกอบที่ i หมายถึง ผลรวมทั้งหมดจากองค์ประกอบที่ 0 ถึง i
โจทย์คือ สร้าง List ใหม่จาก List ที่กำหนด องค์ประกอบที่ i ใน List ใหม่จะเป็นผลรวมสะสมจาก 0 ถึง i ใน List ต้นฉบับ
ตัวอย่าง
Input
[10,20,30,40,50]
Output
[10,30,60,100,150]
Input
[1,2,3,4,5]
Output
[1,3,6,10,15]
โปรแกรมต่อไปนี้สร้าง Cumulative Sum List โดยใช้ Input List −
Input List ถูกส่งให้ฟังก์ชัน cumSum() ซึ่งคืนค่า Cumulative Sum List
ประกาศ List ว่าง cum_list ซึ่งเราจะ Append องค์ประกอบเพื่อสร้าง Cumulative Sum List
กำหนดตัวแปรผลรวม sm=0
เริ่ม Iterate ผ่าน Input List ในแต่ละรอบ เราเพิ่มค่า Sum = ค่าก่อนหน้า + องค์ประกอบปัจจุบัน
ในแต่ละรอบ ค่า Sum จะถูก Append เข้า cum_list
ดังนั้น ในรอบที่ i ตัวแปร Sum จะมีผลรวมจนถึงองค์ประกอบที่ i (รวม) ซึ่งถูก Append เข้า cum_list
หลัง Iterate ผ่านทั้ง 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]