From 7e309f07661266cdb038154876056ceddca2a702 Mon Sep 17 00:00:00 2001 From: Zver Date: Tue, 16 Dec 2025 11:23:56 +0500 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=2015=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson.15.py | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 lesson.15.py diff --git a/lesson.15.py b/lesson.15.py new file mode 100644 index 0000000..2523024 --- /dev/null +++ b/lesson.15.py @@ -0,0 +1,71 @@ +''' ****** Задание 15 из 20 ********* +* У программистов особые отношения с двоичной системой счисления — ведь именно в ней работает вся цифровая техника. +Продолжим тренировки в статистической обработке данных и научимся анализировать числа с позиции их представления в двоичной системе. + +Напишите программу, которая по списку целых чисел определяет: + +количество разрядов; +количество единиц; +количество нулей. +Формат ввода +Вводится последовательность чисел, записанных через пробел. + +Формат вывода +Вывести список словарей с требуемой статистикой. + +Примечание +Вывод в примерах отформатирован только для визуальной наглядности. +Все пробельные символы при проверке игнорируются. +Порядок словарей обязан совпадать с порядком переданных чисел. +Порядок ключей в словаре не имеет значения. + + +Подсказка +Напомним, что получить двоичное представление числа можно: + +bin(number) - формирует строку, содержащую двоичное представление числа с префиксом 0b +f'{number:b}' - формирует строку, содержащую двоичное представление числа +Пример 1 +Ввод + +5 8 12 +Вывод + +[ + { + "digits": 3, + "units": 2, + "zeros": 1 + }, + { + "digits": 4, + "units": 1, + "zeros": 3 + }, + { + "digits": 4, + "units": 2, + "zeros": 2 + } +] +''' + + +if __name__ == "__main__": + data = [] + binary_strings = list(map(lambda x: bin(int(x))[2:], input().split())) + + for binary in binary_strings: + data.append({ + "digits": len(binary), + "units": binary.count('1'), + "zeros": binary.count('0') + }) + + print(data) + + + + + +