У меня встал вопрос как сделать так чтобы эта программа выводила цифры из числа с последней

a = int(input())

def d30():

  global a

  k = len(str(abs(a)))

  while k > 0:

      x = a%(10**k) // (10**((k-2))

      k = k-1

      Print (x)

d30()

Ответы (1 шт):

Автор решения: Алексей Р

Если не требуется решение именно с циклом и операциями с целыми числами, то проще это сделать, оперируя текстовым представлением числа.

def d30(a): # в функцию передаем аргумент вместо использования глобальной переменной
    try:
        int(a)  # проверяем, что введенный текст конвертируется в целое число. Сам результат преобразования нам не нужен
        return a[::-1]  # если ошибки в предыдущей строке не возникает, реверсим строку и возвращаем
    except ValueError:
        return f'{a} не является записью целого числа'  # если ошибка при конвертации, то сообщаем

print(d30(input()))
print(d30(input()))
-14587
78541-
3.1415
3.1415 не является записью целого числа
→ Ссылка