#python
#питон
Вопрос:
Мне нужно решить проблему, в которой мне нужно подсчитать все четные цифры в числе. В качестве примера я взял число 123456. В нем сумма четных цифр равна 2 4 6 = 12. Но я получаю 6, а не 12. Что я делаю не так?
n = int(123456)
sum = 0
while n > 0:
if n % 10 % 2 == 0:
sum = sum n % 10
n = n/10
print(sum)
Я только начинаю программировать. пожалуйста, скажите мне, в чем моя ошибка.
Ответ №1:
Используйте целочисленную форму деления, и ваш код будет работать так, как вы задумали. То есть замените эту строку:
n = n/10
с этим:
n = n//10
Ответ №2:
Вы используете n / 10, который возвращает десятичную часть, например: 123/10 дает 12,3, поэтому вы получаете неверный вывод.
Есть два способа решить эту ошибку.
- использование math.floor
n = Math.floor(n/10)
(или)
- используйте оператор //, который возвращает только частное.
n = n/10