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

Python - Tổng các lũy thừa của phần tử liên tiếp


Tính tổng của các phần tử lũy thừa theo tần suất xuất hiện liên tiếp. Nếu phần tử lặp lại liên tiếp, tần suất tăng; khi gặp phần tử khác, cộng phần_tử ** tần_suất vào tổng và reset tần suất.

Ví dụ

Minh họa:

my_list = [21, 21, 23, 23, 45, 45, 45, 56, 56, 67]
print("Danh sách:", my_list)
my_freq = 1
my_result = 0
for index in range(0, len(my_list) - 1):
    if my_list[index] != my_list[index + 1]:
        my_result = my_result + my_list[index] ** my_freq
        my_freq = 1
    else:
        my_freq += 1
my_result = my_result + my_list[len(my_list) - 1] ** my_freq
print("Tổng kết quả:", my_result)

Kết quả

Danh sách: [21, 21, 23, 23, 45, 45, 45, 56, 56, 67]
Tổng kết quả: 95298

Giải thích

  • Khởi tạo my_freq=1, my_result=0.
  • Duyệt đến phần tử倒数第二.
  • Nếu phần tử hiện tại != phần tử tiếp theo: cộng current ** freq vào kết quả, reset freq=1.
  • Nếu bằng nhau: tăng freq.
  • Sau vòng lặp, xử lý phần tử cuối cùng.