diff --git a/TEMA3/Test.md b/TEMA3/Test.md new file mode 100644 index 0000000..454a95e --- /dev/null +++ b/TEMA3/Test.md @@ -0,0 +1,100 @@ +# Индивидуальное контрольное задание по модулю 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 +``` \ No newline at end of file