Вопрос задан 05.10.2023 в 19:57. Предмет Информатика. Спрашивает Бородкин Никита.

Цикл 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. Замечание: используйте операции целочисленной арифметики (НЕ строки). '''
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Федів Антон.

Ответ:

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.



0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Пример кода на Python для решения данной задачи:

python
x = int(input("Введите натуральное число: ")) k3 = 0 k5 = 0 # Подсчитываем количество цифр 3 и 5 while x > 0: digit = x % 10 if digit == 3: k3 += 1 elif digit == 5: k5 += 1 x //= 10 # Выводим результаты if k3 == 0 and k5 == 0: print("В введенном числе нет цифр 3 и 5.") else: print(f"Цифра 3 встречается {k3} раз, цифра 5 встречается {k5} раз.") # Строим число y y = int("5" * k5 + "3" * k3) print(f"Число y: {y}") # Выводим число y1 y1 = y - 7 print(f"Число y1: {y1}")

Этот код сначала подсчитывает количество цифр 3 и 5 во введенном числе, затем выводит соответствующие сообщения и строит число y. В конце выводится число y1, которое получается вычитанием 7 из числа y.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос