В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
evzrezovatatya
evzrezovatatya
21.05.2020 00:33 •  Информатика

Цикл for.Python
С экрана вводится натуральное число произвольной длины.
Назовите его x.
Определите, какая цифра встречается в нем чаще, 3 или 5.
Назовите счетчики цифр 3 и 5 именами k3 и k5 соответственно.
Выведите соответствующее сообщение.
Выведите также значения k3 и k5.
Если во введённом числе нет ни одной из цифр 3 и 5, то выведите
об этом соответствующее сообщение. В противном случае постройте число,
в котором сначала идут цифры 5, записанные k5 раз,
а потом цифры 3, записанные k3 раза.
Назовите его y. Выведите это число на экран.
Также выведите число y1, которое на 7 меньше полученного.
Например, если было введено x = 59643339938765231, то должно
быть выведено число y = 5533333 и число y1 = 5533326.

Замечание: используйте операции целочисленной арифметики (НЕ строки).
'''

Показать ответ
Ответ:
demondru
demondru
27.08.2020 20:58

Python 3.7.2

x = int(input(), base = 10)

k3 = k5 = 0

for digit in map(int, list(str(x))):

   if digit is 3: k3 += 1

   elif digit is 5: k5 += 1  

#Что бы не городить огромные условные конструкции,

#Мы просто "выключим" программу при кривом вводе

if k3 == k5 == 0: raise RuntimeError('bad input')

#Если введённое число не имеет нужных цифр - вылетаем с ошибкой Runtime error и сообщаем об этом

print(f'цифр 5 больше, счётчики: k3: {k3}, k5: {k5}' if (k5 > k3) else f'цифр 3 больше, счётчики: k3: {k3}, k5: {k5}')

y = int('5'*k5 + '3'*k3)

y1 = y - 7

#Это можно засунуть в print(), но раз уж надо...

print(x, y, y1, end = '\n')

Объяснение:

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


Цикл for.Python С экрана вводится натуральное число произвольной длины. Назовите его x. Определите,
Цикл for.Python С экрана вводится натуральное число произвольной длины. Назовите его x. Определите,
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота