форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
100 строки
6.2 KiB
Markdown
100 строки
6.2 KiB
Markdown
# Индивидуальное контрольное задание по модулю 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
|
|
<class 'int'>
|
|
['__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
|
|
<class 'set'>
|
|
Атрибуты: ('__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
|
|
``` |