Во время работы над проектом Python у меня был список различных продуктов и еще один список их количества. Мне нужно было проверить общее количество, доступное в магазине, чтобы мы могли сложить все значения, доступные в списке.

Давайте сначала разберемся в сценарии, чтобы вы могли использовать этот подход в правильной ситуации.

Предположим, это список количества продуктов.

quantity = [12, 18, 7, 5, 6]

Нам нужно получить общее количество, и оно должно дать такой результат:

Total quantity: 48

Давайте посмотрим, как мы можем выполнить добавление элементов списка без использования встроенного метода.

Содержание

Используя цикл while

Сначала мы будем использовать цикл while, чтобы получить сумму значений списка в Python. Цикл while используется для выполнения блока кода несколько раз, пока заданное условие с циклом while не вернет значение False.

Итак, мы будем нацеливаться на индексные позиции значений списка одно за другим и выполнять сложение.

Синтаксис:

while :
  • while : мы также можем задать несколько условий в цикле while с помощью логических операторов (и/или).

Давайте разберемся, как суммировать список в Python без функции суммы, но используя цикл while.

quantity = [12, 18, 7, 5, 6]

sum = 0 
i = 0 

while i < len(quantity):
    sum += quantity[i]
    i+=1

print("Total Quantity:",sum)

Как суммировать список в Python без функции суммы, используя цикл while

В приведенном выше коде у нас есть список количеств, и нам нужно найти общее количество. Итак, во-первых, мы инициализировали сумму = 0, где будем хранить окончательный результат. Затем мы инициализировали i = 0, которое будет использоваться для выбора элементов списка по их индексным позициям.

Затем мы использовали цикл while и задали такое условие: while I < len(quantity). Итак, итерация будет продолжаться до тех пор, пока я не станет равна длине списка.

Наконец, мы выполняем сложение следующим образом: sum += количество[i]. Здесь мы используем оператор присваивания (+ =), что также означает сумму = сумма + количество[i]. Здесь количество [i] будет ориентироваться на значения по номеру индекса.

С помощью цикла For

Мы также можем использовать цикл for, чтобы получить сумму чисел в списке.

Этот подход предпочтительнее, поскольку он может напрямую ориентироваться на элементы списка, и нет необходимости использовать поддержку позиции индекса для доступа к элементу списка.

Цикл For будет повторяться до последнего элемента списка.

Синтаксис:

for var_name in collection:
  • для var_name в коллекции: этот синтаксис будет полезен, когда вам нужно напрямую указать значения.

Давайте посмотрим, как суммировать список в Python без функции sum, но используя цикл for.

weights = [56, 45, 67, 32, 81]
sum = 0
for i in weights:
    sum += i
print("Total Weight Inside Lift: ",sum)

с помощью цикла For

В приведенном выше коде у нас есть список весов, и нам нужно проверить общее количество элементов списка. Итак, мы используем такой цикл for: «для i в весах», который может напрямую нацеливаться на элементы списка.

Затем он выполнит сложение с переменной sum «sum += i», используя оператор присваивания(+=).

С использованием рекурсии

В Python рекурсия — это концепция, в которой функция многократно вызывает сама себя, пока не достигнет базового условия.

Давайте посмотрим, как мы можем использовать рекурсию для получения суммы списка в Python без использования функции суммы.

def sum_list(collection):
    if len(collection) == 1:
        return collection[0]
    else:
        return collection[0] + sum_list(collection[1:])

list1 = [1, 2, 3, 4, 5]
print("The sum of the list elements is:", sum_list(list1))

с использованием рекурсии

В приведенном выше коде мы создали функцию def sum_list (collection), которой передадим список в качестве параметра. Затем мы создали базовое условие if len (collection) == 1, поэтому, когда это условие возвращает True, оно останавливает поток выполнения и возвращает коллекцию[0].

Если базовое условие не удовлетворено, оно перейдет в блок операторов else и вернет коллекцию[0] + sum_list(коллекция[1:]). Здесь вы можете видеть, что функция sum_list() вызывает саму себя, уменьшая длину параметра.

Когда длина списка станет равной 1, вызов функции прекратится.

Добавить комментарий