Как узнать из скольки цифр состоит число (без перевода в строку )?
Как узнать из скольки цифр состоит число на пример 456 ?
Да можно перевести в строку и там уже узнать с помощью len() и тд..
А как сделать без перевода в строку?
Даниил Шевкунов, Может быть строку данную в условии? Тем более ваше решение не будет работать с отрицательными числами и дробями. А там где будет работать, будет медленно, потому что while
MinTnt, Если говорить по факту, то моя функция выполняет все требования и исходное число в строку не преобразует. Да в цикле есть функция str, но она просто представляет введенное число в строку для цикла, и не изменяет тип какой либо переменной
Есть факт использования str(), далее через enumerate мы просто проходим по строке как по списку, делая дополнительно нумерацию, и выбирая последний элемент.
Но опять же, это преобразование в строку, что нарушает условие вопроса. Да и при этом, раз уже преобразовали в строку, использование цикла лишь делает лишнюю нагрузку.
MinTnt, Я все равно не понимаю одной вещи, зачем автор вопроса не хочет использовать str? Если он вставит эту функцию куда нибудь в func.py, а потом импортирует, то str он не заметит. Функция будет принимать число и возвращать число.
А если нужно без нагрузки - len(str(num))
Yupiter7575, С этим согласен. Так как после преобразования в строку, её длину по-символьно посчитать проще, да и быстрее чем различные иные попытки циклами.
Но этот вопрос скорее из ряда "Алгоритмы". Т.е. Вопрос скорее в том, какие есть математические алгоритмы, чтоб узнать сколько у него цифр.
Сергей Шиловский, и? Вам то какое дело? Автор вопроса пришел на тостер, чтобы получить помощь и знания. Я дал автору знание о том как лучше решить эту задачу.
Сергей Шиловский, С чем вы хотите спорить? Вопрос написал самоучка, который посмотрел один видос в интернете и начал здесь выпендриваться на тему "Как лучше сделать, если мне так не нравится". Если вам тоже нравится писать говнокод - пожалуйста ваше решение. Я предложил самый оптимальный и удобный вариант, если автору он не подходит - сверху есть еще решения.