Как посчитать количество цифр в числе python
Перейти к содержимому

Как посчитать количество цифр в числе 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) 

Как посчитать количество одинаковых цифр в 4-х значном числе?

На вход получаем два числа, 1000 и 2600. Необходимо вывести все числа с тремя одинаковыми числами (не используя списки). Начал как — то так, но закончить не могу. Как посчитать одинаковые цифры и вывести числа?

num_1 = int(input(‘Введите первое число: ‘))
num_2 = int(input(‘Введите второе число: ‘))
count = 0

for i in range(number1, number2 + 1, 1):
i = str(i)
for num in .
if num == .
.

  • Вопрос задан 10 мар. 2023
  • 1512 просмотров

3 комментария

Простой 3 комментария

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

TosterModerator

Модератор @TosterModerator

На вопрос «как сделать» отвечает документация и поиск в интернет.

Тут отвечают на вопросы «почему я сделал, как в документации, а оно не работает. Поискал в интернет, вот запросы, в ответах не нашел. Что я делаю не так?»

Покажите, как вы пробовали решить проблему, приведите код попытки (пусть неудачной), опишите, как запускали, что ожидали и что получилось.
За готовыми решениями — на фриланс. В текущем виде это не вопрос, а задание. Нарушен п.5.12 Регламента.

TosterModerator

Модератор @TosterModerator

Фрагменты кода надо размещать в виде текста и оборачивать тэгом code для корректного отображения. Удобно делать кнопкой
Это обязательно, см.п.3.8 Регламента.
Сюда же относится traceback, ввод и вывод в консоли и другая структурированная текстовая инфа.

Решения вопроса 1

a777mp198

Python developer

(Ответ сгенерирован искусственным интеллектом!)
Вы можете решить эту задачу, преобразовав каждое число в строку, а затем использовать метод count() для подсчета количества вхождений каждой цифры. Затем можно проверить, есть ли у числа три одинаковых цифры, используя условие if. Например:

num_1 = 1000 num_2 = 2600 for i in range(num_1, num_2 + 1): s = str(i) for c in s: if s.count(c) == 3: print(i) break

Здесь мы проходимся по каждому числу i в диапазоне от num_1 до num_2, преобразуя его в строку s. Затем мы проходимся по каждой цифре c в строке s, и если c встречается в строке s три раза, мы выводим число i и переходим к следующему числу. Обратите внимание, что мы используем оператор break, чтобы выйти из цикла, когда мы находим число с тремя одинаковыми цифрами, потому что дальнейший поиск в этом числе бессмысленен.

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

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

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

  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("Введите число:")))

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

Условие

Дано N чисел: сначала вводится число N, затем вводится ровно N целых чисел. Подсчитайте количество нулей среди введенных чисел и выведите это количество. Вам нужно подсчитать количество чисел, равных нулю, а не количество цифр.

Решение

num_zeroes = 0 for i in range(int(input())): if int(input()) == 0: num_zeroes += 1 print(num_zeroes)

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

ЕГЭ на соточку для чайников

Прошу прощения, что так долго пропадал. Питошка вернулся, да еще и с группой в вконтакте, подписывайтесь. Помимо этого, на питошке откроется новая рубрика, в которой будут четкие объяснения всех заданий ЕГЭ и ОГЭ по информатике, внимательно прочитав которые, я уверен, вы улучшите свои баллы на экзамене ��

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

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