# Индивидуальное контрольное задание по модулю 1 Зеленкина Ксения А-02-23 ## Задание 1) Как установить рабочий (текущий) каталог в среде? Какую пользу можно получить от такой установки? 2) Напишите инструкции, обеспечивающие подсчет числа букв (без запятой, скобок и пробелов) в данном предложении. Отобразите результат с использованием формата по шаблону: " в предложении ХХ букв". 3) Создайте числовой объект со значением 2345. Поочередно представьте и отобразите на экране это число в двоичном, восьмеричном и шестнадцатеричном виде. Определите класс созданного объекта и отобразите список его атрибутов. Напишите инструкцию определения числа разрядов в двоичном представлении числа. 4) Создайте объект со значением {-45,78,90,-3,56}. Определите класс этого объекта. Атрибуты объекта запишите в объект-кортеж. Напишите инструкцию, позволяющую проверить наличие метода clear у этого кортежа. 5) Подсчитайте сумму элементов в объекте, созданном в п.4. Отобразите результат по шаблону: "Сумма элементов=ХХХ". ## Решение #### 1. В командном окне после символов приглашения к диалогу нужно ввести инструкции настройки рабочего каталога среды по следующему образцу: ```py >>> import os >>> os.chdir('C:\\Users\\user\\OneDrive\\Documents\\KseniaZelenkina\\python-labs\\TEMA1\\Отчет') ``` __Важно!__ В строке, задающей путь к рабочему каталогу, имена папок разделены двойными слешамию. __Польза:__ - Можно открывать файлы просто по имени: open('data.txt') - Не нужно писать полные пути к файлам - Импорт модулей из той же папки работает без настройки путей Чтобы проверить текущий каталог, можно написать следующую инструкцию: ```py >>> import os >>> print(os.getcwd()) ``` #### 2. _Код:_ ```py s = "Напишите инструкции, обеспечивающие подсчет числа букв (без запятой, скобок и пробелов) в данном предложении." s = s.replace(',', '') s = s.replace('(', '') s = s.replace(')', '') s = s.replace(' ', '') lc = len(s) e = 'В предложении %d букв' kol = 82 print(e % kol) ``` _Вывод:_ ```py В предложении 82 букв ``` #### 3. _Код:_ ```py num = 2345 print('Двочиное представление: ', bin(num)) print('Восьмеричное: представление: ', oct(num)) print('Шестнадцатеричное: представление: ', hex(num)) print(type(num)) print(dir(num)) kol_raz = len(bin(num)) - 2 print('Число разрядов в двоичном представлении: ', kol_raz) ``` _Вывод:_ ```py Двочиное представление: 0b100100101001 Восьмеричное: представление: 0o4451 Шестнадцатеричное: представление: 0x929 ['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__index__', '__init__', '__init_subclass__', '__int__', '__invert__', '__le__', '__lshift__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__round__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'as_integer_ratio', 'bit_count', 'bit_length', 'conjugate', 'denominator', 'from_bytes', 'imag', 'is_integer', 'numerator', 'real', 'to_bytes'] Число разрядов в двоичном представлении: 12 ``` _В строке "kol_raz = len(bin(num)) - 2" мы вычитаем 2, так как в двоичном представлениии перед 0 и 1 стоит '0b', которую нам учитывать не надо._ #### 4. _Код:_ ```py d = {-45, 78, 90, -3, 56} print(type(d)) attrib = tuple(dir(d)) print('Атрибуты: ', attrib) pr = 'clear' in dir(attrib) print(pr) ``` _Вывод:_ ```py Атрибуты: ('__and__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__iand__', '__init__', '__init_subclass__', '__ior__', '__isub__', '__iter__', '__ixor__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__xor__', 'add', 'clear', 'copy', 'difference', 'difference_update', 'discard', 'intersection', 'intersection_update', 'isdisjoint', 'issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update') False ``` #### 5. _Код:_ ```py print('Сумма элементов= ', sum(d)) ``` ```py Сумма элементов= 176 ```