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
Да, на этом сайте могут помочь тем, кто и сам старается. Если у вас нет никаких наработок — могут заминусовать вопрос и закрыть его (и через некоторое время если будет ситуация повторяться у вас будет заблокирована возможность задавать вопросы). Поэтому лучше сразу описывайте что у вас уже есть, какие шаги сделаны, в чём конкретно затык — шансы получить помощь будут гораздо выше. И приводите код не в комментариях, а сразу в вопросе.
Ошибка сервера в приложении ‘/’.
Описание: На сервере возникла ошибка приложения. Текущая пользовательская настройка ошибок для этого приложения не позволяет удаленно просматривать сведения об ошибке данного приложения (из соображений безопасности). Однако, сведения можно просматривать в браузерах, запущенных на локальном сервере.
Сведения: Для разрешения просмотра сведений данного сообщения об ошибке на локальном сервере создайте тег в файле конфигурации «web.config», который находится в корневом каталоге текущего веб-приложения. В теге следует задать атрибут «mode» со значением «Off».
Примечания: Отображаемую в данный момент страницу ошибок можно заменить на пользовательскую страницу ошибок, изменив атрибут «defaultRedirect» тега конфигурации приложения таким образом, чтобы он содержал URL-адрес пользовательской страницы ошибок.
Перевернуть число
Вводится целое число. Вывести число, обратное введенному по порядку составляющих его цифр. Например, введено 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
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])
Функция часто используется в циклах.