LOOP STATEMENT WITH CONDITION - WHILE




Попробуем написать программу для решения следующей задачи:

Необходимо ввести число (пусть оно будет меньше 3 000 000) и определить количество цифр в нем.

Идея решения


Нам необходимо просто последовательно отсекать от числа последнюю цифру (сделать это можно, уменьшив число в 10 раз, применяя целочисленное деление на 10), при этом каждый раз необходимо увеличить счетчик. 
В итоге после того как мы отсечём все цифры числа, в счетчике мы получим их количество.
Этот алгоритм можно сформулировать так:
ПОКА ЧИСЛО НЕ РАВНО НУЛЮ, УМЕНЬШАТЬ ЕГО В 10 РАЗ и УВЕЛИЧИТЬ СЧЕТЧИК НА 1.

число (n) счетчик
123 0
12 1
1 2
0 3
Программа будет выглядеть следующим образом.
n = int (input())
count = 0
while n != 0:
  count += 1
  n = n // 10
print("Number -",n,"contains",count,"digits")
Данную программу нужно знать наизусть, т.к. на ее основе решаются многие другие задачи, связанные с обработкой цифр числа.

Task
Запустите программу. 

Посмотрите на результат ее работы.
Все ли нормально в выходной фразе.
Подумайте, как можно исправить данный недочет.
Python
1
n = int (input())     
2
count = 0     
3
while n != 0:     
4
  count += 1     
5
  n = n // 10     
6
print("Number -",n,"contains",count,"digits")     
Your last submission is saved in the editor window.
     

Results:

All results: