Python. Нужно вывести список цифр в обратном порядке
Даны два целых числа A и B (A < B). Вывести в порядке убывания все целые числа, расположенные между A и B (не включая числа A и B), а также количество N этих чисел. помогите вывести в обратном порядке У меня пока вот какой код получился:
a = int(input()) b = int(input()) i = int() for i in range (-b, -(a + 1)): print(-i) print ("Количество чисел в цикле: ", b - a - 1)
Отслеживать
76.9k 6 6 золотых знаков 56 56 серебряных знаков 123 123 бронзовых знака
задан 11 окт 2018 в 9:23
61 1 1 золотой знак 1 1 серебряный знак 2 2 бронзовых знака
Тут не бюро по написанию кода. Попытки решить задачу самостоятельно были? Где результат?
11 окт 2018 в 9:29
stackoverflow — Биржа написание ответов на лабораторные 🙂
11 окт 2018 в 9:30
a = int(input()) b = int(input()) i = int() for i in range (-b, -(a + 1)): print(-i) print («Количество чисел в цикле: «, b — a — 1)
11 окт 2018 в 9:38
решил уже, да и какая разница биржа или нет? забанятб да?
11 окт 2018 в 9:38
Да, на этом сайте могут помочь тем, кто и сам старается. Если у вас нет никаких наработок — могут заминусовать вопрос и закрыть его (и через некоторое время если будет ситуация повторяться у вас будет заблокирована возможность задавать вопросы). Поэтому лучше сразу описывайте что у вас уже есть, какие шаги сделаны, в чём конкретно затык — шансы получить помощь будут гораздо выше. И приводите код не в комментариях, а сразу в вопросе.
Python: Функция range()
Встроенная функция range() удобна в тех случаях, когда нужно повторить действие определённое количество раз.
Можно вызвать разными способами.
range(stop)
Функция с одним аргументом. Числа начинаются с 0 и идут до указанного числа, которое не учитывается. Шаг 1.
for i in range(3): print(i)
0 1 2
range(start, stop)
Функция с двумя аргументами. Указываем начальное и конечные значения (не входит в диапазон). Шаг 1.
# выводим значения от 1 до 5 for i in range(1, 6): print(i)
1 2 3 4 5
range(start, stop, step)
Функция с тремя аргументами. Третий аргумент задаёт шаг между соседними числами.
for i in range(10, 27, 5): print(i)
10 15 20 25
Для шага можно использовать отрицательные значения, чтобы пойти в обратную сторону.
for i in range(10, 5, -2): print(i)
10 8 6
Можно позвать на помощь функцию reversed(), чтобы выводить последовательность в обратном порядке.
for i in reversed(range(6)): print(i)
5 4 3 2 1 0
Проверим следующее выражение. Увидим, что имеем дело с классом range.
print(type(range(6)))
Можно получить доступ к объектам по индексу, как в списке:
print(range(3)[1])
Функция часто используется в циклах.
Перевернуть число
Вводится целое число. Вывести число, обратное введенному по порядку составляющих его цифр. Например, введено 3425, надо вывести 5243.
Решение задачи на языке программирования Python
Алгоритм:
- Найдем остаток от деления на 10 исходного (первого) числа. Тем самым получим последнюю его цифру. Запомним ее.
- Присвоим эту цифру новому (второму) числу-«перевертышу».
- Разделим нацело на 10 первое число. Тем самым избавимся от последней цифры в нем.
- Снова найдем остаток от деления на 10 того, что осталось от первого числа. Запомним цифру-остаток.
- Разделим нацело на 10 первое число. Избавимся от текущей последней цифры в нем.
- Умножим на 10 второе число. Тем самым увеличим его разрядность до двух и сдвинем первую цифру в более старший разряд.
- Добавим к полученному второму числу запомненную ранее цифру из первого числа.
- Будем повторять действия п. 4-7 пока первое число не уменьшится до нуля, т. е. пока не избавимся от всех его разрядов.
n1 = int(input("Введите целое число: ")) # Последнюю цифру первого числа переносим во второе digit = n1 % 10 n2 = digit # Избавляемся от последней цифры первого числа n1 = n1 // 10 while n1 > 0: # находим остаток - последнюю цифру digit = n1 % 10 # делим нацело - удаляем последнюю цифру n1 = n1 // 10 # увеличиваем разрядность второго числа n2 = n2 * 10 # добавляем очередную цифру n2 = n2 + digit print('"Обратное" ему число:', n2)
Примеры выполнения кода:
Введите целое число: 32809 "Обратное" ему число: 90823
Введите целое число: 78290 "Обратное" ему число: 9287
На самом деле мы можем не добавлять последнюю цифру первого числа во второе до цикла. Если присвоить n2 ноль, то в цикле при выполнении выражения n2 = n2 * 10 не будет происходить сдвига разряда, так как при умножении на 0 получается 0. И первая цифра будет добавляться в разряд единиц.
n1 = int(input("Введите целое число: ")) n2 = 0 while n1 > 0: digit = n1 % 10 n1 = n1 // 10 n2 = n2 * 10 n2 = n2 + digit print('"Обратное" ему число:', n2)
Приведенный алгоритм решения математический и соответствует задаче, если условие, что надо обрабатывать именно число, является строгим.
Однако средства Python позволяют решить подобную задачу более практично. Так у списков есть метод reverse , позволяющий изменять порядок элементов на обратный. Мы можем получить из исходной строки список символов, выполнить его реверс, после чего с помощью строкового метода join опять собрать в единую строку.
n1 = input("Введите целое число: ") n_list = list(n1) n_list.reverse() n2 = "".join(n_list) print('"Обратное" ему число:', n2)
Также можно воспользоваться взятием среза из исходной строки с первого до последнего символа с обратным шагом:
n1 = input("Введите целое число: ") n2 = n1[::-1] print('"Обратное" ему число:', n2)
Два последних варианта решения задачи — это способы переворота строки, а не числа как такового. Если объект, который надо переверуть, изначально имеет числовой тип данных (например, генерируется функцией randint() ), то его придется преобразовывать в строковый тип данных с помощью функции str() . И если на выходе мы должны получить опять же число, то надо будет строку превращать обратно в число с помощью функции int() .
from random import randint print("Исходное число:", end=' ') n1 = randint(5000, 1000000) print(n1) n1 = str(n1) n2 = n1[::-1] n2 = int(n2) print('"Обратное" ему число:', n2)
Исходное число: 970334 "Обратное" ему число: 433079
X Скрыть Наверх
Решение задач на Python
Ошибка сервера в приложении ‘/’.
Описание: На сервере возникла ошибка приложения. Текущая пользовательская настройка ошибок для этого приложения не позволяет удаленно просматривать сведения об ошибке данного приложения (из соображений безопасности). Однако, сведения можно просматривать в браузерах, запущенных на локальном сервере.
Сведения: Для разрешения просмотра сведений данного сообщения об ошибке на локальном сервере создайте тег в файле конфигурации «web.config», который находится в корневом каталоге текущего веб-приложения. В теге следует задать атрибут «mode» со значением «Off».
Примечания: Отображаемую в данный момент страницу ошибок можно заменить на пользовательскую страницу ошибок, изменив атрибут «defaultRedirect» тега конфигурации приложения таким образом, чтобы он содержал URL-адрес пользовательской страницы ошибок.