Как посчитать, сколько цифр в числе

В этой статье мы разберем два способа посчитать, сколько цифр в числе. Первый способ предполагает использование целочисленного деления в цикле while. Второй – применение встроенных функций Python и преобразование числа в строку.

Считаем количество цифр в числе при помощи цикла while

Идея данного подхода состоит в том, чтобы удалять крайнюю правую цифру в числе до тех пор, пока число не станет равно 0.

Вот алгоритм этого метода:

  1. Получаем от пользователя число и записываем его в переменную
  2. Создаем переменную-счетчик и инициализируем ее значением 0
  3. При помощи цикла while удаляем крайнюю правую цифру (123 превращается в 12, потом в 1 и потом в 0)
  4. При каждой итерации цикла увеличиваем значение счетчика на 1 и делаем это, пока исходное число не будет равно 0. В конечном итоге в переменной-счетчике будет содержаться значение, соответствующее количеству цифр в числе
  5. Выводим полученное значение в консоль
count = 0
number = int(input("Enter a number "))

while (number > 0):
    number = number // 10
    count = count + 1

print("Total number of digits: ", count)


# Результат:
# Enter a number 155
# Total number of digits:  3

Объяснение алгоритма:

  1. Данный код полностью идентичен алгоритму, который мы привели выше. count — это переменная-счетчик, используемая для хранения общего количества цифр в числе. Она инициализируется в начале нулем.
  2. Для ввода числа мы используем метод input(). Данный метод возвращает строку, поэтому мы оборачиваем его в метод int(), который преобразует ее в целое число. Оно сохраняется в переменную number.
  3. Цикл while будет выполняться до тех пор, пока значение переменной number больше нуля.
  4. В теле цикла мы производим целочисленное деление числа, которое хранится в переменной number, на 10. И далее сохраняем в эту переменную новое число, полученное в результате такого деления. Если значение переменной было равно 123, то после целочисленного деления на 10 оно станет равно 12. Это полностью эквивалентно удалению крайней правой цифры числа.
  5. После этого мы увеличиваем значение счетчика (переменная count) на 1. В конце концов исходное число в переменной number станет равно 0 и цикл прекратит свою работу.
  6. Выводим значение переменной count в консоль.

Считаем, сколько цифр в числе, преобразовав его в строку

Вместо использования цикла while мы можем напрямую преобразовать целое число в строку и получить длину этой строки. В Python получить длину строки легко с помощью встроенного метода len(). Для преобразования числа в строку мы можем использовать метод str().

Встроенная функция abs() используется для получения абсолютного значения числа, то есть наша программа будет обрабатывать и тот случай, когда число будет отрицательным.

Допустим, наше входное значение равно -123. Функция abs() преобразует его в 123, функция str() конвертирует 123 в строку. После этого функция len() возвращает длину строки, то есть значение 3.

Код программы на Python:

count = 0
number = int(input("Enter a number "))

print("Total number of digits: ", len(str(abs(number))))


# Результат:
# Enter a number 123
# Total number of digits:  3

Примечание редакции: возможно, вас также заинтересует статья “Как разбить число на цифры в Python”.

Перевод статьи “Count number of digits in a number in Python”.

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

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