Làm thế nào để bạn tìm thấy tổng của một mảng trong một vòng lặp trong python?

Viết chương trình Python để tìm tổng các mục mảng numpy. Hàm tổng numpy trả về tổng của tất cả các mục mảng. Chúng tôi sử dụng hàm tổng này trên một mảng số nguyên

import numpy as np

arr = np.array[[10, 20, 40, 70, 90]]

total = sum[arr]

print["The Sum of Total Array Item = ", total]

Tổng các mục Python Numpy Array sử dụng đầu ra hàm tổng

The Sum of Total Array Item =  230

Nó cho phép người dùng nhập kích thước ndarray gọn gàng và các mục. Tiếp theo, chúng tôi đã sử dụng hàm numpy sum để lấy tổng của các mục mảng đó

import numpy as np

arrSumList = []
number = int[input["Enter the Total Array Items = "]]
for i in range[1, number + 1]:
    value = int[input["Enter the %d Array value = " %i]]
    arrSumList.append[value]

intarrSum = np.array[arrSumList]

total = sum[intarrSum]

print["The Sum of Total Array Item = ", total]

Đầu ra tổng của các mục Numpy Array

Enter the Total Array Items = 4
Enter the 1 Array value = 20
Enter the 2 Array value = 5090
Enter the 3 Array value = 20
Enter the 4 Array value = 54
The Sum of Total Array Item =  5184

Chương trình Python để tìm tổng của mảng Numpy bằng cách sử dụng phạm vi vòng lặp

Trong vòng lặp for này [for i in range[len[sumArr]]], i lặp giá trị từ vị trí chỉ mục mảng 0 đến độ dài của sumArr này. Trong vòng lặp for này, chúng tôi sẽ thêm từng mục vào tổng số [total = total + sumArr[I]]

import numpy as np

sumArr = np.array[[10, 60, 30, 40, 70, 95]]
total = 0
for i in range[len[sumArr]]:
    total = total + sumArr[i]

print["The Sum of Total Array Item = ", total]
The Sum of Total Array Item =  305

Trong ví dụ gọn gàng này, vòng lặp for [cho num in sumArr] lặp lại các mục mảng thực tế, không phải vị trí chỉ mục và thêm các mục đó

Tìm tổng các phần tử danh sách trong python

A danh sách python là tập hợp các phần tử có kiểu dữ liệu giống nhau hoặc khác nhau.
Giả sử bạn có một danh sách các số và bạn muốn tìm tổng tất cả các phần tử của danh sách
Bài viết này sẽ trình bày chi tiết các cách khác nhau để thực hiện điều này

Phương pháp 1 . Lặp lại danh sách bằng vòng lặp for
Phương pháp này dựa trên thuật toán dưới đây
1. Khởi tạo một biến để giữ tổng của phần tử
2. Lặp lại danh sách bằng vòng lặp for và truy xuất từng phần tử của danh sách
3. Thêm phần tử này vào biến được khởi tạo ở trên
4. Sau khi lặp lại danh sách hoàn tất, biến của Bước 1 sẽ giữ tổng của các phần tử danh sách

Chương trình Python được viết theo thuật toán trên như sau

# initialize a list of integers
num_list = [1, 5, 4, 45, 12]
# initialize variable to hold the sum of list elements
total = 0
# iterate over the list
for num in num_list:
    # add current list element to the sum
    total = total + num
print["Sum of elements of list is", total]

Nó tạo ra đầu ra sau

Tổng các phần tử của danh sách là 67

Phương pháp 2 . Lặp lại danh sách bằng vòng lặp while
Phương pháp này giống như phương pháp trước nhưng nó sử dụng vòng lặp while thay vì vòng lặp for

Thuật toán cho phương pháp này sẽ bao gồm các bước sau
1. Khởi tạo một biến để giữ tổng các phần tử danh sách
2. Khởi tạo một biến để giữ chỉ số vòng lặp
3. Khởi tạo một biến để giữ số phần tử danh sách
Biến này và biến từ bước trước sẽ được sử dụng để lặp qua danh sách
4. Lặp lại danh sách bằng vòng lặp while cho đến khi giá trị của biến ở bước 2 nhỏ hơn giá trị của biến ở bước 3
5. Trong mỗi lần lặp lại, hãy thêm phần tử tại chỉ số vòng lặp hiện tại [giá trị của biến ở bước 2] vào tổng [biến của bước 1]
6. Tăng chỉ số vòng lặp lên 1
7. Sau khi vòng lặp kết thúc, biến ở bước 1 sẽ giữ tổng của các phần tử danh sách

Mã được viết theo thuật toán trên như sau

# initialize a list of integers
num_list = [1, 5, 4, 45, 12]
# initialize variable to hold the sum of list elements
total = 0
# number of elements in list
list_size = len[num_list]
# variable to keep track of loop
loop_counter = 0
# iterate over the list
while loop_counter < list_size:
    # add current list element to the sum
    total = total + num_list[loop_counter]
    # increment loop index
    loop_counter = loop_counter + 1
print["Sum of elements of list is", total]

Đầu ra của chương trình trên là

Tổng các phần tử của danh sách là 67

Phương pháp 3 . Sử dụng hàm tính tổng
Python cung cấp một hàm tích hợp sẵn sum lấy một đối tượng có thể được lặp lại [chẳng hạn như danh sách] và trả về tổng giá trị có trong đối tượng này

Tài liệu Python cho trạng thái hàm tổng

Trả về tổng của giá trị 'bắt đầu' [mặc định. 0] cộng với một số lặp lại

Chương trình hiển thị cách sử dụng chức năng này được hiển thị bên dưới

________số 8_______

Đầu ra của chương trình trên là

Tổng các phần tử danh sách là 67

Phương pháp 4 . Sử dụng phương pháp đệ quy 1
Một phương thức đệ quy là một phương thức tiếp tục gọi chính nó cho đến khi một số điều kiện được đáp ứng
Nó có thể hoặc không thể trả về kết quả
Cũng cần phải viết một điều kiện trong phương thức đệ quy khiến nó quay trở lại nếu không nó sẽ tiếp tục gọi chính nó vô tận
Mã bên dưới hiển thị một ví dụ về phương thức đệ quy

# initialize a list of integers
num_list = [1, 5, 4, 45, 12]

# recursive method to calculate the sum of list elements
def recursive[num_list, list_size]:
    # check if list is empty, return 0
    if list_size == 0:
        return 0
    # add last element with other list elements
    return num_list[list_size-1] + recursive[num_list, list_size - 1]

total = recursive[num_list, len[num_list]]
print["Sum of list elements is", total]

Đoạn mã trên định nghĩa một phương thức đệ quy để tính tổng các mục trong danh sách. Phải mất 2 đối số, danh sách có các phần tử cần được thêm vào và kích thước của danh sách
Phương thức truy xuất phần tử cuối cùng của danh sách bằng cách trừ 1 từ kích thước của danh sách và gọi lại chính nó với kích thước danh sách giảm đi 1

Trong mọi cuộc gọi, nó thêm phần tử danh sách cuối cùng với kết quả của cuộc gọi đệ quy của nó
Bằng cách này, với mỗi phần tử danh sách cuộc gọi đệ quy được thêm vào [bắt đầu từ phần tử cuối cùng đến phần tử đầu tiên] và kích thước danh sách giảm đi 1
Khi kích thước danh sách đạt đến 0, cuộc gọi đệ quy cuối cùng kết thúc bằng cách trả về 0 và phương thức trả về tổng của các phần tử danh sách

Đầu ra là

Tổng các phần tử danh sách là 67

Phương pháp 5 . Sử dụng phương pháp đệ quy 2
Phương pháp này là một phương án đệ quy khác để tính tổng các phần tử danh sách
Phương thức này chỉ nhận một đối số là danh sách có các phần tử sẽ được thêm vào

Trong mọi lời gọi, nó trả về tổng của phần tử đầu tiên và kết quả của lời gọi đệ quy với phần tử đầu tiên bị xóa khỏi danh sách
Do đó, trong mọi cuộc gọi, kích thước [hoặc độ dài] của danh sách nhận được dưới dạng đối số sẽ giảm đi 1

Trong mọi cuộc gọi, phương thức này sẽ kiểm tra độ dài của danh sách
Khi độ dài đạt đến 1, nó trả về phần tử đầu tiên. Do đó, với mỗi phần tử danh sách cuộc gọi đệ quy được thêm vào [bắt đầu từ phần tử đầu tiên cho đến phần tử cuối cùng]

Để xóa phần tử đầu tiên, nó sử dụng toán tử cắt lát [:]
Biểu thức

# initialize a list of integers
num_list = [1, 5, 4, 45, 12]
# initialize variable to hold the sum of list elements
total = 0
# number of elements in list
list_size = len[num_list]
# variable to keep track of loop
loop_counter = 0
# iterate over the list
while loop_counter < list_size:
    # add current list element to the sum
    total = total + num_list[loop_counter]
    # increment loop index
    loop_counter = loop_counter + 1
print["Sum of elements of list is", total]
0 có nghĩa là tất cả các phần tử danh sách bắt đầu từ phần tử ở chỉ số 1 [phần tử thứ hai] do chỉ mục của các phần tử trong danh sách bắt đầu từ 0

Mã ví dụ sau

# initialize a list of integers
num_list = [1, 5, 4, 45, 12]

def recursive[num_list]:
    # check if there is only 1 element in the list, return it
    if len[num_list] == 1:
        return num_list[0]
    # add first element with other list elements
    return num_list[0] + recursive[num_list[1:]]

total = recursive[num_list]
print["Sum of list elements is", total]

Đầu ra của đoạn mã trên là

Tổng các phần tử danh sách là 67

Bài đăng này liệt kê ra các phương pháp khác nhau có thể được sử dụng để tính tổng các phần tử danh sách
Hy vọng nó đã giúp bạn trong việc tìm hiểu chúng

Thích bài viết?

Bài viết này có 2 bình luận

  1. Ẩn danh 7 tháng 1 năm 2022

    Cách 1, dòng 9, tổng nên được thay thế bằng biến “total”

    1. codippa 8 tháng 1 năm 2022

      Đúng. đúng rồi
      Đã sửa, cảm ơn

Chia sẻ những suy nghĩ của bạn.

Chủ Đề