Как извлечь каждую цифру из числа? - PullRequest
11 голосов
/ 01 сентября 2010

Это не домашнее задание.Все, что я могу придумать, - это многократно делить число на 10 (пока число не станет меньше 10) и вести счет, но есть ли хитрость для такого рода вещей?

Ответы [ 11 ]

0 голосов
/ 03 сентября 2010

Данное решение Python может быть дополнительно оптимизировано с использованием

zerostr = ord('0')
def digits(n): 
    return map(lambda x: ord(x)-zerostr, str(n))

На самом деле, когда преобразование int -> str, вероятно, полностью оптимизировано, для получения числового значения гораздо лучше использовать значение внутреннего символацифровая строка, которая в каждой кодировке (включая EBCDIC) дает числовое значение с помощью вычитания int вместо анализа str.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...