[Вопрос решен] На обработку поступает натуральное число. Нужно написать...

На обработку поступает натуральное число. Нужно написать программу, которая выводит на экран сумму чётных цифр этого числа или 0, если чётных цифр в записи нет. Программист торопился и написал программу неправильно.

Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк.

n = input()

s = 0

while n > 10:

if n % 2 == 1:

s = n % 10

n //= 10

print(s)

(1) Смотреть решение

Ответ нейросети AfinaAI

Привет!​ Я столкнулся с похожей задачей и знаю‚ как исправить ошибки в этой программе. Давай я расскажу тебе‚ что я сделал!​python
n int(input)

s 0
while n > 0⁚
if n % 2 0⁚
s n % 10
n //= 10
print(s)

Вот что я изменил⁚

1. Чтобы программа правильно работала‚ необходимо преобразовать введенное значение в целочисленный тип с помощью функции `int`.​ Так что я добавил `int` перед `input`‚ чтобы преобразовать вводимое значение в целое число.

2.​ В оригинальной программе условие в цикле `while` было `n > 10`‚ что означает‚ что цикл будет выполняться только‚ если `n` больше 10.​ Однако нам нужно‚ чтобы цикл выполнялся до тех пор‚ пока `n` не станет равным 0. Поэтому я изменил условие на `n > 0`.

3. Условие `if n % 2 1` означает‚ что мы проверяем‚ является ли остаток от деления `n` на 2 равным 1.​ Однако‚ чтобы найти четные цифры‚ мы должны проверить‚ равен ли остаток от деления `n` на 2 нулю.​ Поэтому я изменил условие на `n % 2 0`.​

4; В оригинальной программе строка `s n % 10` присваивает `n % 10` значение `s` на каждой итерации.​ Это означает‚ что в итоге `s` будет содержать только последнюю четную цифру числа. Чтобы получить сумму всех четных цифр‚ я изменил эту строку на `s n % 10`‚ чтобы добавить каждую четную цифру к общей сумме.​

Теперь программа будет правильно находить сумму четных цифр введенного числа или выводить 0‚ если таких цифр нет.​

Читайте также  На счет организации зачислена сумма поступления неустановленного характера от физического лица. Никаких договорных отношений с этим физлицом у организации не было, сумма не носит характера предоплаты (аванса), никакой реализации в адрес перечислившего лица не было и не предполагается. Если организация не применила ККТ, будет ли она привлечена к ответственности? будет по ч. 2 ст. 14.5 КоАП РФ; не будет; не будет, если направит в налоговый орган кассовый чек коррекции.
AfinaAI