Определение количества цифр в числе, представленном строкой

Переберите символы строки и увеличивайте счётчик только для цифр. Для обычной десятичной записи проверяйте '0' <= char <= '9'; знак и разделитель дробной части не учитываются.

Короткий ответ

Что ответить на собеседовании

Переберите символы строки и увеличивайте счётчик только для цифр. Для обычной десятичной записи проверяйте '0' <= char <= '9'; знак и разделитель дробной части не учитываются.

Подробный разбор

Ответ с пояснениями

Условие

В качестве входных данных получаем число, записанное в виде строки. Необходимо написать функцию, которая возвращает количество символов‑цифр в этом числе, не используя встроенную функцию len.

Ответ

Переберите символы строки и увеличивайте счётчик только для цифр. Для обычной десятичной записи проверяйте '0' <= char <= '9'; знак и разделитель дробной части не учитываются.

Решение без len:

def digit_count(text):
    count = 0
    for char in text:
        if '0' <= char <= '9':
            count += 1
    return count

digit_count('-12.30') вернёт 4. Ведущие нули считаются, поскольку анализируется запись, а не числовое значение. Если нужны все Unicode-цифры, используйте isdecimal или isdigit, предварительно определив различие между этими наборами. Преобразование строки в число здесь не требуется.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее