Переберите символы строки и увеличивайте счётчик только для цифр. Для обычной десятичной записи проверяйте '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, предварительно определив различие между этими наборами. Преобразование строки в число здесь не требуется.