Нахождение суммы четных цифр — это базовая программа Python, которую должен знать каждый новичок в Python. По сути, эта программа построит вашу логику на основе анализа данных или математических вычислений.
Четные числа – это числа, которые полностью делятся на 2; например, четные числа — это 2, 4, 6, 8 и т. д. Если вы разделите любое из этих чисел на 2, вы получите остаток как 0.
С использованием цикла For
Вы можете вычислить сумму четных чисел, используя цикл Python for. Этот метод перебирает заданное число и проверяет, является ли оно четным, если да, то число добавляется к третьей переменной.
Этот процесс применяется для каждого числа, и каждое найденное четное число добавляется к третьей переменной, которая представляет собой сумму четных чисел.
Например, запустите приведенный ниже код.
# define a function called sum_of_even_digits which takes a number as input
def sum_of_even_digits(number):
# initialize a variable sum_even to keep track of the sum of even digits
sum_even = 0
# iterate through each digit in the number converted to a string
for digit in str(number):
# check if the digit, when converted to an integer, is even
if int(digit) % 2 == 0:
# if the digit is even, add it to the sum_even variable
sum_even += int(digit)
# return the sum of even digits
return sum_even
# assign a number to the variable 'number'
number = 23456
print(sum_of_even_digits(number))

Из вывода вы можете видеть, что сумма четного числа «23456» равна 12, тогда как если вы сложите четные числа 2, 4 и 6 вручную, вы также получите сумму 12.
Если функция sum_of_even_digits() предоставила любые числа, она вернет сумму четных чисел в предоставленных числах.
С использованием рекурсии
Вы можете использовать технику рекурсии, при которой функция вызывает саму себя, чтобы найти четное число и суммировать все четные числа.
Давайте посмотрим пример нахождения суммы четных чисел.
# define a function called sum_of_even_digits which takes a number as input
def sum_of_even_digits(number):
# base case: if the number is 0, return 0
if number == 0:
return 0
# get the last digit of the number
last_digit = number % 10
# check if the last digit is even
if last_digit % 2 == 0:
# if even, add it to the sum of even digits from the rest of the number
return last_digit + sum_of_even_digits(number // 10)
else:
# if not even, just continue with the rest of the number
return sum_of_even_digits(number // 10)
# Assign a number to the variable 'number'
number = 123456
print(sum_of_even_digits(number))

Из вывода видно, что сумма четных цифр числа «123456» равна 12.
С использованием цикла while
Чтобы найти сумму четных цифр числа в Python, используйте операторы цикла while и if.
Здесь вы будете использовать метод, когда сначала принимается число от пользователя, а затем используется цикл while для получения каждой цифры из ряда чисел.
Далее вы будете использовать оператор IF, чтобы найти четное число. В последнем случае вы вычисляете сумму всех четных цифр.
Давайте посмотрим на примере:
def sum_of_even_digits(number):
sum_even = 0
while number > 0:
digit = number % 10
if digit % 2 == 0:
sum_even += digit
number //= 10
return sum_even
# get user input
user_input = input("Please enter a number: ")
# ensure the input is a positive integer
try:
number = int(user_input)
if number < 0:
print("Please enter a positive number.")
else:
result = sum_of_even_digits(number)
print(f"The sum of even digits in {number} is {result}.")
except ValueError:
print("Invalid input. Please enter a valid number.")

Посмотрите на результат. Сумма четных чисел в цифрах 2345678 равна 20. Здесь входные данные берутся у пользователя и передаются в функцию sum_of_even_digits().