Предмет: Информатика, автор: ktoto1093

Найти сумму трёхзначного числа. Если полученная сумма меньше 10, то на экран вывести "0"; если сумма цифр больше 10, но меньше 20, то вывести на экран "1"; во всех остальных случаях вывести "2".
язык программирования питон

Ответы

Автор ответа: Jason785
1

Ответ:

код на Python:

flag = True

while flag:

   a = int(input("Введите 3-хзначное число: "))

   if a < 100 or a > 999:

       flag = True

   else:

       flag = False

a1 = a % 10

b1 = (a % 100 - a1) // 10

c1 = (a % 1000 - b1) // 100

S = a1 + b1 + c1

if S < 10:

   print(0)

elif S >= 10 and S < 20:

   print(1)

else:

   print(2)

Объяснение:

Вначале мы используем цикл для проверки корректности введения числа. Если оно меньше 100 или больше 999, то мы должны ввести его снова

Потом разбиваем числа на разряды, a1 - это единицы, b1 - это десятки, c1 - сотни

В переменную S записываем сумму этих разрядов и при помощи простого if...elif...else выводим число


megaamir555: ОО, я вижу код, который можно оптимизировать и сделать красивее. Оставлю свою версию здесь)))
megaamir555: ну че, как вам моя версия))) Красиво???)))
Автор ответа: megaamir555
1

Ответ:

a = ''

while True:

   a = input("Введите трехзначное число: ")

   if len(a) == 3:

       break

S = 0

for i in a:

   S += int(i)

if S < 10:

   print(0)

elif S < 20:

   print(1)

else:

   print(2)

Объяснение:

Принимаем строку a, пока ее длина не будет равна 3. Потом перебираем каждый символ из a, переводим его в число и прибавляем к S. Дальше думаю все понятно


Jason785: Чётко. Я не особо знаю питон, и сделал что смог. Я не думаю что для школьных задач нужно оптимизировать программу, работает? Значит все хорошо. А так решение классное
Похожие вопросы
Предмет: Русский язык, автор: azamatpolvotov