🔢 Как посчитать количество единиц в числе в питоне? 🐍
Чтобы посчитать количество единиц в числе в Python, вы можете использовать следующий код:
number = 123456789
count = bin(number).count('1')
print(count)
Детальный ответ
Как посчитать количество единиц в числе в Python
Часто в программировании требуется посчитать количество единиц в двоичном представлении числа. В этой статье мы рассмотрим, как это сделать с помощью Python.
Метод 1: Использование встроенных функций
Python предоставляет встроенную функцию bin(), которая преобразует целое число в его двоичное представление в виде строки. Мы можем использовать эту функцию в комбинации с методом count(), чтобы подсчитать количество единиц в числе.
number = 42
binary_string = bin(number)[2:] # Преобразуем число в двоичную строку, удаляем первые два символа "0b"
count_ones = binary_string.count('1') # Считаем количество символов '1' в строке
print(f"Количество единиц в числе {number}: {count_ones}")
В этом примере мы используем переменную number для хранения нашего исходного числа. Затем мы преобразуем это число в двоичное представление с помощью функции bin(). Обратите внимание, что мы удаляем первые два символа "0b" из результата, чтобы получить только двоичные цифры.
Затем мы используем метод count(), чтобы подсчитать количество символов '1' в строке, представляющей двоичное число. Результат сохраняем в переменной count_ones.
Наконец, с помощью функции print() выводим результат в виде строки.
Метод 2: Использование побитовых операций
В Python также можно использовать побитовые операции для подсчета количества единиц в числе. Мы будем использовать операцию побитового "И" (&) и сдвиг вправо (>=) для проверки и подсчета каждого бита числа.
number = 42
count_ones = 0
while number > 0:
if number & 1: # Проверяем, является ли младший бит числа единицей
count_ones += 1
number >>= 1 # Сдвигаем число на один бит вправо
print(f"Количество единиц в числе {number}: {count_ones}")
В этом примере мы используем переменную number для хранения нашего исходного числа. Затем мы инициализируем переменную count_ones с нулевым значением, которая будет считать количество единиц в числе.
Затем мы используем цикл while, который будет выполняться, пока число больше нуля. Внутри цикла мы проверяем, является ли младший бит числа единицей с помощью операции побитового "И". Если да, то увеличиваем счетчик count_ones на единицу.
Затем мы сдвигаем число на один бит вправо с помощью операции >=. Это позволяет нам проверить следующий бит на следующей итерации цикла.
Наконец, с помощью функции print() выводим результат в виде строки.
Вывод
В этой статье мы рассмотрели два метода подсчета количества единиц в числе в Python. Вы можете выбрать любой метод в зависимости от ваших предпочтений или требований задачи. Оба метода легко реализуемы и эффективны.