Вычисление суммы четных чисел – это базовая, но важная задача в программировании, которая помогает развивать логическое мышление и понимание циклов и условий. В Python существует несколько способов выполнения этой задачи.
Самый простой способ вычислить сумму четных чисел - использовать цикл for
для итерации по диапазону чисел и суммировать те, которые удовлетворяют условию четности.
def sum_even_numbers(n):
total = 0
for i in range(1, n + 1):
if i % 2 == 0:
total += i # Добавляем число к сумме, если оно четное
return total
number = 10
result = sum_even_numbers(number)
print(f"Сумма четных чисел до {number} равна {result}")
Python предлагает элегантный способ вычисления суммы четных чисел с помощью list comprehensions и встроенной функции sum()
.
def sum_even_numbers_comprehension(n):
return sum([i for i in range(1, n + 1) if i % 2 == 0])
number = 10
result = sum_even_numbers_comprehension(number)
print(f"Сумма четных чисел до {number} равна {result}")
Этот метод сочетает в себе функциональное программирование и использование функций filter()
и sum()
, чтобы элегантно и эффективно вычислить сумму.
def sum_even_numbers_functional(n):
return sum(filter(lambda x: x % 2 == 0, range(1, n + 1)))
number = 10
result = sum_even_numbers_functional(number)
print(f"Сумма четных чисел до {number} равна {result}")
В дополнение к вычислению суммы четных чисел в заданном диапазоне, часто возникает задача нахождения суммы четных чисел в списке. Это также можно сделать разными способами в Python:
Проходим по всем элементам списка, проверяем, является ли элемент четным, и если да, добавляем его к сумме.
def sum_even_in_list(lst):
total = 0
for i in lst:
if i % 2 == 0:
total += i # Добавляем четное число к сумме
return total
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
result = sum_even_in_list(numbers)
print(f"Сумма четных чисел в списке: {result}")
Этот метод использует list comprehensions для создания нового списка только из четных чисел и затем суммирует его элементы.
def sum_even_in_list_comprehension(lst):
return sum([i for i in lst if i % 2 == 0])
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
result = sum_even_in_list_comprehension(numbers)
print(f"Сумма четных чисел в списке: {result}")
Подобно предыдущему методу, но с использованием filter()
для отбора четных чисел.
def sum_even_in_list_functional(lst):
return sum(filter(lambda x: x % 2 == 0, lst))
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
result = sum_even_in_list_functional(numbers)
print(f"Сумма четных чисел в списке: {result}")
Вычисление суммы четных чисел в Python является отличным упражнением для понимания основных концепций языка, таких как циклы, условные операторы и функциональное программирование. В зависимости от ситуации, можно выбрать метод, который лучше всего подходит для задачи - будь то простота, читаемость или производительность кода.
Содержание: