Сделал 15 задание
This commit is contained in:
parent
d5018b6476
commit
7e309f0766
71
lesson.15.py
Normal file
71
lesson.15.py
Normal file
|
|
@ -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)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Loading…
Reference in a new issue