Составить программу подсчитывающую количество цифр числа вводимого с клавиатуры

Поляков Евгений Александрович

Учитель информатики высшей категории

Проверено учителем

Для решения задачи подсчета количества цифр в числе существует несколько подходов. Ниже приведены два наиболее популярных способа на языке Python: с использованием математического цикла и с помощью преобразования числа в строку. Способ 1: Математический подход (через цикл while) Этот метод считается классическим для программирования. Мы последовательно делим число на 10 нацело, пока оно не станет равным нулю, увеличивая счетчик на каждом шаге. python

# Ввод числа от пользователяnumber = int(input("Введите число: ")) # Работаем с абсолютным значением, чтобы корректно считать отрицательные числаn = abs(number) count = 0# Обработка случая, если введено 0if n == 0: count = 1else: while n > 0: n //= 10# Целочисленное деление на 10 count += 1 print(f"Количество цифр в числе: {count}") 
Use code with caution.Как это работает:

  1. abs(number) позволяет игнорировать знак "минус", если введено отрицательное число.
  2. В цикле while на каждой итерации от числа "отрезается" последняя цифра.
  3. Переменная count накапливает количество пройденных итераций.

Способ 2: Преобразование в строку (краткий метод) В высокоуровневых языках, таких как Python, проще всего превратить число в строку и измерить её длину. python

number_str = input("Введите число: ").strip() # Убираем знак минус, если он есть, чтобы он не считался за символif number_str.startswith('-'): digits_count = len(number_str) - 1else: digits_count = len(number_str) print(f"Количество цифр в числе: {digits_count}") 
Use code with caution.Преимущества этого метода:

  • Код более компактный.
  • Работает быстрее на очень больших числах.
  • Позволяет легко обработать ввод, даже если пользователь ввел очень длинную последовательность цифр.

Сравнение методов

Характеристика Цикл whileПреобразование в str
СложностьСредняя (нужна логика)Низкая (одна функция)
УниверсальностьПодходит для всех языков (C++, Java)Специфично для Python/JS
Обработка нуляТребует отдельного ifОбрабатывается автоматически

Рекомендация: Если вы изучаете основы алгоритмов, используйте первый способ. Если вам нужно быстрое решение для практической задачи — второй. Я могу дополнить этот код проверкой на то, является ли введенное значение именно числом, а не текстом. Хотите, чтобы я добавил блок обработки исключений try-except?

Форма ответа

Ваш аватар