diff --git a/TEMA3/task.md b/TEMA3/task.md new file mode 100644 index 0000000..a8e3562 --- /dev/null +++ b/TEMA3/task.md @@ -0,0 +1,80 @@ +# Общее контрольное задание по теме 3 + +Грудинин Егор, А-03-23 + +## Задание +• Преобразовать восьмеричное значение 45 в целое число. + +• Создать объект-словарь D со значениями {"усиление":23, "запаздывание":12, "постоянная времени":78} и затем осуществить его преобразование в два списка: ключей и значений, а за-тем – эти два списка преобразовать в один кортеж. Чем отличается кортеж от списка? + +• Напишите и выполните единое выражение, осуществляющее деление числа 1768 на 24.8 с округлением вниз, с определением после этого остатка от деления получившегося значения на 3 и затем возведения результата в степень 2.4. + +• Напишите и выполните единое выражение, последовательно осуществляющее следующие операции: двоичное И для чисел 13 и 27, инверсия полученного значения, двоичное исключа-ющее ИЛИ для полученного значения и числа 14, сдвиг полученного значения на два разряда влево. + +• Создать список с 4 одинаковыми элементами 'колебат' и написать оператор проверки наличия комбинации символов 'аткол' в результате конкатенации второго и третьего элементов этого списка. + +• Определить список методов, доступных у ранее созданного словаря D. Поочередно использо-вать его методы keys и values, определить, что можно получить с применением этих методов. + +• Создать объект - символьную строку с текстом данного предложения. Из символьной строки создать список, элементами которого будут отдельные слова из созданной строки. Заменить в списке элемент «-» на «,». Удалить из списка элемент со значением «данного». Отобразить получившийся список. + + +## Решение +### Задача 1 +```py +>>> oct45 = oct(45); oct45 +'0o55' +>>> dec45 = int(oct45, 8); dec45 +45 +``` +### Задача 2 +```py +>>> D = {"усиление":23, "запаздывание":12, "постоянная времени":78} +>>> dict_keys = D.keys(); dict_keys +dict_keys(['усиление', 'запаздывание', 'постоянная времени']) +type(dict_keys ) + +>>> dict_values = D.values(); dict_values +dict_values([23, 12, 78]) +>>> T = tuple(dict_keys) + tuple(dict_values); T +('усиление', 'запаздывание', 'постоянная времени', 23, 12, 78) +``` +Кортеж от списка отличается тем, что кортеж - это неизменяемый объект. +### Задача 3 +```py +>>> ((1768 // 24.8)%3)**2.4 +5.278031643091577 +``` +### Задача 4 +```py +>>> ((~(13&27))^14)<<2 +-32 +``` +13 = 00001101, а 27 = 00011011. 13&27 = 00001001. ~ (13&27) = 11110110. 14 = 00001110. (~ (13&27))^14 = 11111000. ((~(13&27))^14) << 2 = 11100000. + +(11100000 - 1) = 00100000. Cоответствует десятичному числу 32. Значит 11100000 - это двоичная запись десятичного числа -32. +### Задача 5 +```py +>>> ls1 = list(('колебат '*4).split()); ls1 +['колебат', 'колебат', 'колебат', 'колебат'] +'аткол' in (ls1[1] + ls1[2]) +True +``` +### Задача 6 +```py +>>> D.keys() +dict_keys(['усиление', 'запаздывание', 'постоянная времени']) +>>> D.values() +dict_values([23, 12, 78]) +``` +Используя методы keys и values, можно получить информацию о том, какие ключи и значения имеются в словаре, к которму применены эти методы. +### Задача 7 +```py +>>> s1 = 'Создать объект - символьную строку с текстом данного предложения' +>>> ls2 = list(s1.split()) +>>> ls2 +['Создать', 'объект', '-', 'символьную', 'строку', 'с', 'текстом', 'данного', 'предложения'] +>>> ls2[ls2.index('-')] = ','; ls2 +['Создать', 'объект', ',', 'символьную', 'строку', 'с', 'текстом', 'данного', 'предложения'] +>>> ls2.remove('данного'); ls2 +['Создать', 'объект', ',', 'символьную', 'строку', 'с', 'текстом', 'предложения'] +``` \ No newline at end of file