Программа которая разбивает число на цифры python

Вводится целое число. Вывести число, обратное введенному по порядку составляющих его цифр. Например, введено 3425, надо вывести 5243.

Алгоритм:

  1. Найдем остаток от деления на 10 исходного числа. Тем самым получим последнюю его цифру.
  2. Добавим эту цифру к новому числу.
  3. Разделим нацело на 10 исходное число. Тем самым избавимся от последней цифры в нем.
  4. Снова найдем остаток от деления на 10 того, что осталось от первого числа. Запомним эту цифру.
  5. Умножим на 10 второе число. Тем самым увеличим его разрядность до двух и сдвинем первую цифру в разряд десятков.
  6. Добавим к полученному второму числу запомненную ранее цифру из первого числа.
  7. Будем повторять действия п. 3-6 пока исходное число не уменьшится до нуля, т. е. пока не избавимся от всех его разрядов.

n1 = int(input(«Введите целое число: «)) n2 = 0 while n1 > 0: # находим остаток — последнюю цифру digit = n1 % 10 # делим нацело — удаляем последнюю цифру n1 = n1 // 10 # увеличиваем разрядность второго числа n2 = n2 * 10 # добавляем очередную цифру n2 = n2 + digit print(‘»Обратное» ему число:’, n2)

Примеры выполнения кода:

5 урок (2 часть) Python. Цикл while — разбиение числа на цифры


Введите целое число: 32809 «Обратное» ему число: 90823
Введите целое число: 78290 «Обратное» ему число: 9287

Приведенный алгоритм решения является математическим, он универсален для большинства языков. Однако средства 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)

Источник: it-systems.su

Вопрос Как разделить число на цифры в Python, используя только арифметические действия?

Соблюдая условие:
while True:
print(*input())
break ну или серьезно:
n = 4532357
tempN = n
length = 0
while tempN:
length += 1
tempN //= 10
while n:
length -= 1
print(n // 10 ** length, end=» «)
n %= 10 ** length

TURANT987

Capitan

TURANT987

Capitan

Регистрация 20 Апр 2013 Сообщения 59 Репутация 0 Спасибо 0 Монет 0

На вход функцией input подается 6-значеное число. Нужно разбить его на на отдельные числа. Например: 123456 -> 1 2 3 4 5 6. Делается это для того, чтобы проверить эквивалентность суммы первой и второй тройки чисел (Задача о счастливом билете). В программировании я начинающий и желательно всё сделать операциями div, mod, if-else

19 Обход всех цифр числа с помощью while Python

a = int(input())
b = a//1000
one = b//100
two = b%11
three = b%10
c = a%1000
four = c//100
five = c%11
six = c%10
if (one+two+three)==(four+five+six):
print (Счастливый#39;Обычныйhttps://4cht.com/threads/%D0%9A%D0%B0%D0%BA-%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%B8%D1%82%D1%8C-%D1%87%D0%B8%D1%81%D0%BB%D0%BE-%D0%BD%D0%B0-%D1%86%D0%B8%D1%84%D1%80%D1%8B-%D0%B2-python-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D1%8F-%D1%82%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE-%D0%B0%D1%80%D0%B8%D1%84%D0%BC%D0%B5%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D1%8F.259702/» target=»_blank»]4cht.com[/mask_link]

Разделите число на цифры и сохраните их в списке (массиве) с помощью python

Итак, какие-нибудь советы? Может быть, вы знаете способ лучше разделить числа на цифры, а может, еще что-нибудь.

3 ответы

Поскольку вы просто добавляете цифры от наименьшей к наибольшей по порядку, просто используйте пустой список:

dig = [] i = 0 while num > 9: dig.append(num % 10) i += 1 num /= 10 dig.append(num)

Читайте также:
Через какую программу можно открыть файл heic

В качестве альтернативы просто сделайте

dig = list(int(d) for d in str(num))

Который превратится т.е. 123 в ‘123’ затем превратите каждую цифру обратно в число и поместите их в список, в результате чего [1, 2, 3] .

Если вы хотите, чтобы он был в том же порядке, что и ваша версия, используйте

dig = reversed(int(d) for d in str(num))

Если вы действительно хотите получить длину числа, проще всего сделать len(str(num)) который превращает его в строку, а затем получает длину.

Источник: stackovergo.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru