Количество разрядов в числе

Чтобы программно посчитать количество разрядов числа, необходимо последовательно его делить (нацело) на 10, пока это число не станет равным нулю. При этом считать количество делений. Например, дано число 345. После первого деления останется 34, после второго — 3, после третьего — 0. Таким образом, мы видим, что количество делений равно количеству разрядов числа.

Для реализации данного алгоритма следует использовать цикл «пока» (while). Условием его выполнения является неравенство числа нулю. Хотя, если вводятся только положительные числа или перед этим отрицательное число превращают в положительное, в условии может быть «больше нуля».

Перед циклом вводится переменная-счетчик (например, i), которой присваивается значение 0 и которая при каждом делении заданного числа внутри цикла увеличивается на единицу. После завершения деления именно ее значением будет определяться количество разрядов числа.

Поскольку надо написать функцию, то скорее всего эта функция должна принимать заданное число, а возвращать количество разрядов.

def digits(n):
    i = 0
    while n > 0:
        n = n // 10
        i += 1
    return i


num = abs(int(input('Введите число: ')))
print('Количество разрядов:', digits(num))


2660login-checkКоличество разрядов в числе

Добавить комментарий