Python
Как разделить число на цифры в Python, используя только арифметические действия?
На ввод подаётся число с клавиатуры произвольной длинны, надо разбить его на цифры, без использования списков, цикла for. Т.е использовать while, if, и арифметику обычную
Легче лёгкого!
N = int(input('N : '))
if N == 0: print(N); input(); exit()
n, k = abs(N), 0
while n: n //= 10; k += 1
p, n = 10**(k - 1), abs(N)
while p > 0: print(n//p, ' ', end=''); n%=p; p//=10
print(); input()
N = int(input('N : '))
if N == 0: print(N); input(); exit()
n, k = abs(N), 0
while n: n //= 10; k += 1
p, n = 10**(k - 1), abs(N)
while p > 0: print(n//p, ' ', end=''); n%=p; p//=10
print(); input()

Андрей Тарабаев
ваш код настолько запутан, что от него хочется плакать.
Александр Филипьев
Наоборот: всё яснее некуда! Но неучам этого не понять...
n = 4532357
while n >= 1:
print(n % 10)
n = n // 10
Максим@x Ц.
Но ведь оно выводит числа в обратном порядке
Делением и остатком от деления на 10
% 10 - последняя цифра
// 10 - все число, кроме последней цифры
Соблюдая условие:
% 10 - последняя цифра
// 10 - все число, кроме последней цифры
Соблюдая условие:
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
Андрей Тарабаев
Не, у него случай другой немного. Я понял от кого ты взял.
Т.е. если ввод 123, то вывод 1 2 3?
Максим@x Ц.
Да
На вход функцией input подается 6-значеное число. Нужно разбить его на на отдельные числа. Например: 123456 -> 1 2 3 4 5 6. Делается это для того, чтобы проверить эквивалентность суммы первой и второй тройки чисел (Задача о счастливом билете). В программировании я начинающий и желательно всё сделать операциями div, mod, if-else
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 ('Счастливый')
else:
print ('Обычный')
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 ('Счастливый')
else:
print ('Обычный')
Максим@x Ц.
че ты мне копипастишь с соседней темы, это совсем другая задача, я же говорю, что нужно произвольное число поделить. не обязательно из шести знаков
Похожие вопросы
- Как запретить пользователю ввод букв или цифр в python
- Как возвести число в степень в python через цикл while? В чем моя ошибка в коде? Объясните, пожалуйста подробнее
- Создайте программу, которая выводит первые 1000 простых чисел на языке программирования Python.
- Python, пользователь вводит три числа. Найдите среднее арифметическое этих чисел.
- Есть ли способ вывести случайное число не используя модуль random в python
- Python, найти минимальное число Используя только If else
- Гладкие числа. Python
- Помогите с программой на Python. Сколько существует десятичных трёхзначных чисел, в которых только одна цифра кратна 3?
- Python задача "Игра с числами"
- Python Как сделать так чтобы после сгенерированного числа оно не повторялось?