Вопрос задан 14.06.2023 в 16:37. Предмет Информатика. Спрашивает Коротков Никита.

Разработайте программу, которая получает от пользователя целое число из интервала от 1000 до 9999 и

выводит его написанным "справа налево": например, при вводе 2017 программа должна вывести 7102. Предусмотрите защиту от некорректных данных: от значений, которые не могут быть интерпретированы как число, и от чисел вне разрешённого диапазона.В Python есть много способов выполнить это задание. Ограничимся 3-мя. Вывести нужное значение цифру за цифрой на консоль, считая входное значение строкой и используя строковые операции (не функции). Конечно, результат должен выглядеть как число, а не цифры, разделённые пробелами. Сформировать результат в одной строке, а потом вывести его. Считать ли входное значение числом или строкой - на ваше усмотрение. Использовать арифметический подход - считаем входное значение числом, обрабатываем его как число, в результате получаем новое четырехзначное число, соответствующее условию. В этом случае допустимо отображать результат без начальных нулей.1200 => 12Используйте только те способы, которые проходили. Найти решение с использованием срезов, циклов, обратной итерации (наверняка есть ещё что-то) легко, но засчитываться оно не будет.
0 0
Перейти к ответам

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

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

Ответ:

Предложу несколько вариантов решений, тк не уверен, что понял правильно.

1.

x = int(input('number: '))

if not 1000<x<9999:

   raise ValueError('число не удовлетворяет требованиям')

str_x = list(str(x))

str_x.reverse()

print(''.join(str_x))

2. Строковой метод

x = input('number: ')

if not 1000<int(x)<9999:

   raise ValueError('число не удовлетворяет требованиям')

print(x[::-1])

Объяснение:

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

2.  Я создал ту же проверку, что и в 1 варианте, и просто вывел срез, который выводит строку с шагом -1, т.е. обратную последовательность.

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

Конечно! Вот пример программы на языке Python, которая решает данную задачу, используя строковые операции:

python
number = input("Введите целое число от 1000 до 9999: ") # Проверка на корректность ввода if not number.isdigit() or int(number) < 1000 or int(number) > 9999: print("Некорректные данные!") else: reversed_number = "" for i in range(len(number) - 1, -1, -1): reversed_number += number[i] print(int(reversed_number))

В этой программе мы сначала запрашиваем у пользователя целое число в заданном интервале. Затем мы проверяем, является ли введенное значение допустимым числом, используя метод isdigit(). Если значение некорректно, выводим сообщение об ошибке.

Если значение корректно, мы проходим по каждой цифре числа в обратном порядке и добавляем их к переменной reversed_number. Наконец, выводим полученное обратное число, преобразовав его обратно в целое значение.

Пожалуйста, обратите внимание, что мы используем цикл for и срезы строк для решения задачи, как требуется в условии.

0 0

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

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

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

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