Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Viết chương trình tạo danh sách tổng tích lũy (Cumulative Sum List) trong Python


Tổng tích lũy đến phần tử thứ i (ith) là tổng từ phần tử thứ 0 đến phần tử thứ i.

Đề bài: Tạo list mới từ list cho trước. Phần tử thứ i trong list mới sẽ là tổng tích lũy từ 0 đến i trong list cho trước.

Ví dụ:

Đầu vào

[10, 20, 30, 40, 50]

Đầu ra

[10, 30, 60, 100, 150]

Đầu vào

[1, 2, 3, 4, 5]

Đầu ra

[1, 3, 6, 10, 15]

Chương trình tạo cumulative sum list từ input list:

  • List đầu vào truyền vào hàm cumSum() trả về cumulative sum list.
  • Khai báo list rỗng cum_list để append các phần tử tạo cumulative sum list.
  • Khởi tạo biến tổng sm = 0.
  • Bắt đầu duyệt qua input list, mỗi lần lặp tăng giá trị tổng = giá trị trước + phần tử hiện tại.
  • Mỗi lần lặp, giá trị tổng được append vào cum_list.
  • Vậy ở lần lặp thứ i, biến tổng chứa tổng đến phần tử thứ i (bao gồm), append vào cum_list.
  • Sau khi duyệt hết list, trả về cum_list.

Ví dụ

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))

Kết quả

[10, 30, 60, 100, 150]