Подсчёт количества цифр в числе
Иногда нужно узнать, сколько цифр содержит целое число, например 3452. В этой статье разберём два подхода: классический — последовательное деление числа на 10 с подсчётом итераций, и компактный — через преобразование числа в строку и измерение её длины.
Что нужно знать
Перед изучением примера полезно понимать:
Python: цикл while — цикл
whilePython: цикл for — цикл
for
Пример 1. Цикл while
num = 3452
count = 0
while num != 0:
num //= 10
count += 1
print("Number of digits: " + str(count))
Вывод
Number of digits: 4
Цикл while выполняется до тех пор, пока условие num != 0 остаётся истинным.
После первой итерации
numделится нацело на 10 и становится равным 345, а счётчикcountувеличивается до 1.На второй итерации
numстановится равным 34,count— 2.На третьей итерации
numстановится равным 3,count— 3.На четвёртой итерации
numстановится 0,count— 4.Условие цикла перестаёт выполняться, и работа прекращается.
Пример 2. Встроенные функции
num = 123456
print(len(str(num)))
Вывод
6
Здесь сначала число преобразуется в строку функцией str(), а затем длина этой строки определяется функцией len(). Получаем количество цифр одной строкой кода.