Задача: Найдите количество цифр в числе

Создайте функцию, которая будет возвращать целое число, соответствующее количеству цифр в заданном целом числе 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

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *