Сделал 16 задание
This commit is contained in:
parent
7e309f0766
commit
0a1a1726fe
71
lesson.16.py
Normal file
71
lesson.16.py
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
''' ****** Задание 16 из 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