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 ** freqvà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.