форкнуто от main/python-labs
Родитель
3e68219298
Сommit
cb271cbac3
@ -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
|
||||
<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
|
||||
```
|
||||
Загрузка…
Ссылка в новой задаче