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

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

Ответ:
Предложу несколько вариантов решений, тк не уверен, что понял правильно.
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, т.е. обратную последовательность.



Конечно! Вот пример программы на языке Python, которая решает данную задачу, используя строковые операции:
pythonnumber = 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
и срезы строк для решения задачи, как требуется в условии.


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







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