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