Создайте функцию, которая будет возвращать целое число, соответствующее количеству цифр в заданном целом числе num
.
Пример:
num_of_digits(1000) ➞ 4 num_of_digits(12) ➞ 2 num_of_digits(1305981031) ➞ 10 num_of_digits(0) ➞ 1
Примечание:
Попробуйте решить эту задачу без использования строк!
Варианты решений:
def num_of_digits(n): return next(i for i in range(1, 100) if abs(n) < 10**i)
def num_of_digits(num): return len(str(abs(num)))
import math def num_of_digits(num): if num > 0: return int(math.log10(num)) + 1 if num == 0: return 1 else: return int(math.log10(-1 * num)) + 1
def num_of_digits(num): digs = 0 while abs(num) >= 1: num /= 10 digs += 1 return digs if digs > 1 else 1