Решение задачи на переворот числа
Условие: на вход подается четырехзначное число, программа должна проверить действительно ли это число четырехзначное и если это не так выдать сообщение об ошибке. Если число действительно четырехзначное, программа должна перевернуть число.

С++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
#include using namespace std; int main() int N=0, M=0, a=0; cin >> N; if (N9999 && N>=1000) while (N>0) a=N%10; M=M*10+a; N=N/10; > cout ; >else cout<"Error";> >
ШкАлгЯз (Кумир)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
алг нач цел N, M, a M:=0 ввод N если N=9999 и N>=1000 то нц пока N>0 a:=mod(N,10) M:=M*10+a N:=div(N, 10) кц вывод M иначе вывод "Ошибка" все кон
Pascal
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
var N, M, a: integer; begin M := 0; read(N); if ((N = 9999) and (N >= 1000)) then begin while (N > 0) do begin a := N mod 10; M := M * 10 + a; N := N div 10; end; end else write('Ошибка'); end.
Перевернуть число
Вводится целое число. Вывести число, обратное введенному по порядку составляющих его цифр. Например, введено 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
JavaScript: перевернуть число

Метод reverse() используется для реверсирования массива на месте. Первый элемент массива становится последним, а последний — первым.
Код: console.log ([«7», «0», «0», «0»].reverse());
Вывод: [«0», «0», «0», «7»]
Метод join() используется для объединения всех элементов массива в строку.
Код: console.log ([«7», «0», «0», «0»].Reverse().join(«»));
Выход: «0007»
Комментарии
пожелания к комментариям…
- Приветствуются комментарии, соответствующие теме урока: вопросы, ответы, предложения.
- Одну строчку кода оборачивайте в тег
, несколько строчек кода — в теги. ваш код..
- Допускаются ссылки на онлайн-песочницы (codepen, plnkr, JSBin и др.).
Перевернуть число
Вот программа для того, чтобы перевернуть число. Например, из 234 в 432.
1 2 3 4 5
a = input("Введите число:") b = '' for i in a: b = i + b print(b)
Нужно пояснение, что и для чего.
Пожалуйста, помогите.)
Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Перевернуть число
Решить две разные задачи. 1. Вводится список чисел (любым способом, который вы знаете). Найти.
Перевернуть число без использования строк
перевернуть число без использования строк python
Перевернуть tuple
На одной строке вам даны числа. Сохраните данные числа в tuple. Затем, разделив tuple на два.

Перевернуть список
Помогите решить задание, плиз! Переставьте элементы данного списка в обратном порядке, затем.
3660 / 918 / 130
Регистрация: 29.01.2013
Сообщений: 5,468
Alexandra_20, для начала код надо предоставлять в вот таком виде:
1 2 3 4 5
a = input("Введите число:") b = '' for i in a: b = i + b print(b)
1-я строка - ввод данных
2-я строка - объявление пустой текстовой переменной
3-я строка - объявление цикла
4-я строка - магия, которая переворачивает число
5-я строка - вывод результата
Автоматизируй это!
![]()
7060 / 4563 / 1210
Регистрация: 30.03.2015
Сообщений: 13,142
Записей в блоге: 29
Alexandra_20, чего ж автора кода не спросила?
1 2 3 4 5
a = input("Введите число:") #запрашиваем число у юзера (впрочем не обязательно число, любую строку) b = ''# глупо называем переменную и присваиваем ей значение -пустую строку, сюда мы будем собирать результат for i in a:# в цикле перебираем все символы из введенной юзером строки b = i + b# в начало нашей b добавляем очередной символ print(b)#выводим результат, профит!
@ Alli_Lupin
Welemir1, как-то не волшебно у вас получилось)
| Меню пользователя @ Alli_Lupin |
Alli_Lupin, а я не волшебник, я только учусь!(с)
| Меню пользователя @ Welemir1 |
| Читать блог |
Регистрация: 17.10.2019
Сообщений: 95

Сообщение было отмечено mik-a-el как решение
Решение
Почему нельзя сделать так?
1 2 3
a = input("Введите число:\n")#Получаем число у юзера b = a[::-1]#разворачиваем текст print(b)#Выводим текст
Регистрация: 25.10.2019
Сообщений: 9
Что насчёт 4-ой строки? как именно можно описать?
Добавлено через 6 минут
PyDev, спасибо большое.)
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Перевернуть строку
Как мне перевернуть строку вверх тормашками?

Перевернуть строку в файле
Здравствуйте, помогите, смысл такой: нужно заполнить файл символами от 25 до 125 через пробел.(Это.

Как перевернуть список?
1) Дан список чисел. Переверните его, не используя встроенную функцию reverse.
Перевернуть половинки списка
Добрый день. Прошу помощи с решением вопроса. Чуть не забыл. Работаю с пайтоном 3.6 под win. 2.

Рекурсивно перевернуть список
Нужно с помощью РЕКУРСИИ и без использования глобальных перевернуть спиок.

Рекурсивно перевернуть список
попробуйте рекурсивно перевернуть список. Для этого напишите функцию recursive_reverse(some_list).
