Напишите цикл, который считает количество разрядов введенного с клавиатуры числа
В данном случае следует использовать математический способ решения задачи – путем
последовательного избавления от разрядов числа делением нацело на 10 в цикле.
Первое деление выносится за цикл потому, что если число равно нулю, то цикл while его не
обработает и счетчик цифр count останется равным нулю.
n = int(input())
n = abs(n)
count = 1
n //= 10
while n > 0:
n //= 10
count += 1
print(count)
Пример выполнения:
-123
3
Однако случай введения числа 0 можно обработать и через if:
if n == 0:
count = 1
Обратим внимание, что если число оканчивается на 0, например 150, программа работает
правильно, так как от разрядов числа избавляются с конца, а не с начала. Первое деление нацело
учтет цифру 0 в счетчике count.
Если же перед числом поставить 0, например 015, программа насчитает 2 разряда, так как
проверка n > 0 вернет ложь, когда от числа останется одна первая цифра.