Нахождение суммы четных цифр — это базовая программа 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().