Перейти к содержимому

Как посчитать количество цифр в числе python

  • автор:

Как найти количество чисел? [закрыт]

Вопросы с просьбами помочь с отладкой («почему этот код не работает?») должны включать желаемое поведение, конкретную проблему или ошибку и минимальный код для её воспроизведения прямо в вопросе. Вопросы без явного описания проблемы бесполезны для остальных посетителей. См. Как создать минимальный, самодостаточный и воспроизводимый пример.

Закрыт 1 год назад .

for i in range(300): s = i n = 1 b = 0 while s > n: s = s - 15 n = n * 5 if n == 125: print(i) 

выводит кучу получившихся значений i (больше сотни).
Как узнать сколько всего получилось этих значений?

Отслеживать
26.2k 7 7 золотых знаков 31 31 серебряный знак 48 48 бронзовых знаков
задан 22 фев 2022 в 13:30
79 7 7 бронзовых знаков
Опишите вашу задачу и какой ожидаемый результат
22 фев 2022 в 13:32

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Создайте переменную, куда будете аккумулировать все значения i . А в конце исполнения скрипта выведите длину получившегося списка

res = [] for i in range(300): s = i n = 1 b = 0 while s > n: s = s - 15 n = n * 5 if n == 125: print(i) res.append(i) print(f" значений") 
115 значений 

Чтобы получить сумму всех членов списка используйте sum

print(sum(res)) # out # 12995 

Отслеживать
ответ дан 22 фев 2022 в 13:35
7,797 13 13 золотых знаков 25 25 серебряных знаков 55 55 бронзовых знаков
Спасибо большое
22 фев 2022 в 13:58

Чтобы получить сумму, вы можете создать переменную суммы и приплюсовывать туда i:

total = 0 for i in range(300): s = i n = 1 b = 0 while s > n: s = s - 15 n = n * 5 if n == 125: total += i print(total) 

Данный код выведет сумму нужных вам элементов.

Если необходимо количество, то также делаем переменную, но приплюсовывать к ней будем единицу (счётчик):

counter = 0 for i in range(300): s = i n = 1 b = 0 while s > n: s = s - 15 n = n * 5 if n == 125: counter += 1 print(counter) 

Как определить количество цифр в числе, не выделяя каждую отдельную цифру, с использованием str?

SoreMix

Сколько цифр в числе 1010, если оно записано в двоичной, десятичной, шестнадцатеричной?

SoreMix, это представление числа, а не само число. Представление числа 1010 в двоичной это 10, в десятичной это так и будет 1010, а в шестнадцатиричной это 4112. Речь о том что вопрос изначально некорректен. В какой системе счисления должно быть представлено число?

SoreMix

soremix @SoreMix Куратор тега Python

pfemidi, а разница какая? есть число, есть цифры из которого оно состоит. Никто не просил переводить в какие-то системы

SoreMix, так. По порядку. Если число, любое. Но если переменную, в которой хранится это число, перевести в его строковое представление, то количество цифр в этом строковом представлении будет разное для разных систем счисления, которое это строковое представление представляет.

Пример:
Дано число 65535.
В двоичном строковом представлении это 1111111111111111, то есть 16 цифр.
В восьмеричном строковом представлении это 177777, то есть 6 цифр.
В десятичном строковом представлении это 65535, то есть 5 цифр.
В шестнадцатиричном строковом представлении это FFFF, то есть 4 цифры.

Но внутри, в компьютере, оно как было 65535, так и всегда будет 65535.

Программа для нахождения количества цифр в числе

Программа принимает число и выводит количество цифр в нем.

Решение задачи

  1. Берем значение целого числа и записываем его в переменную.
  2. Используем цикл while и при помощи оператора целочисленного деления «уничтожаем» каждую цифру числа начиная с последней, а при каждой итерации цикла специально созданную переменную (так называемый счетчик цикла) увеличиваем на единицу. После того как введенное в начале число станет равным 0, цикл прекратит свою работу.
  3. Выводим значение этого счетчика на экран.
  4. Конец.

Исходный код

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

n = int(input("Введите число:")) count = 0 while(n > 0): count = count + 1 n = n // 10 print("Количество цифр равно:", count)

Объяснение работы программы

  1. Записываем введенное пользователем число в переменную n .
  2. Задаем переменную count и инициируем ее значением 0.
  3. Используем цикл while и при помощи оператора целочисленного деления «уничтожаем» каждую цифру числа начиная с конца.
  4. При каждой итерации цикла переменная count увеличивается на 1.
  5. Как только цифры в числе заканчиваются и число n становится равным 0, цикл прекращает свою работу.
  6. Выводим переменную count на экран.

Результаты работы программы

Пример 1: Введите число:123 Количество цифр равно: 3 Пример 2: Введите число:1892 Количество цифр равно: 4

Примечание переводчика

Надо заметить, что опять эту задачу можно решить намного короче, если использовать методы строк.

print("Количество цифр равно:", len(input("Введите число:")))

Здесь введенное число принимается как строка и мы просто выводим ее длину.

Как посчитать количество элементов в массиве python

В питоне нету массивов. А кортежи, списки и словари есть. Бесит когда люди говорят про массивы в питоне т.к массив со своими элементами будет храниться в выделенной области памяти на компьютере, а каждый элемент списка будет храниться в разных местах памяти.

24 февраля 2022

Легко. Для этого используется функция len() . Она принимает список и возвращает количество элементов в нём.

>>> collection = [1, 2, 'hexlet'] >>> len(collection) 3 

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *