Информатика, вопрос задал liza2311xx , 6 лет назад

ПИТОН Написать программу, которая вводит последовательность целых чисел, заканчивающуюся нулем, и определяет, сколько из этих чисел удовлетворяют условию: сумма значений цифр десятичной записи числа равна 10. ​


missKatyaGirl: ого. Непростая задача. Мы в школе такого еще не проходили. Но у нас тоже питон поэтому я могу попробовать. Только ответить не могу почему-то. Вижу только кнопку посмотреть ответы(

Ответы на вопрос

Ответил missKatyaGirl
1

def summaCifr(num):

   summa = 0

   while num > 0:

       summa += num % 10

       num //= 10

   return summa

k = int(input())

answer = 0

while k != 0:

   if summaCifr(k) % 10 == 0:

       answer += 1

   k = int(input())

print(answer)

может так, но мы в школе такое не решали поэтому я не уверена. Делала как могла. Если неправильно, то прости пожалуйста ><


liza2311xx: у тебя хорошая программа получилась, но где-то ошибочка. На все равно спасибо
liza2311xx: ♡´・ᴗ・`♡
missKatyaGirl: ой. Я почему-то подумала, что сумма цифр должна быть кратна 10, а не равняться 10, как в условии. Прости(
missKatyaGirl: попробуй 4 строчку с конца заменить на это:
if summaCifr(k) == 10:
liza2311xx: Вот что пишет ValueError: неверный литерал для int() с основанием 10
missKatyaGirl: ты числа в столбик вводишь?
missKatyaGirl: я не уверена но ошибки у меня были только когда я пыталась вводить числа в строку поэтому может это вот эта ошибка и есть
liza2311xx: да в столбик
missKatyaGirl: тогда не знаю, прости((
у меня в пайчарме все работает
liza2311xx: не извиняйся, ты и так очень сильно помогла)) Спасибо огромное
Новые вопросы