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

เขียนโปรแกรมสร้าง Cumulative Sum List ใน Python


ผลรวมสะสม (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]