# Индивидуальное контрольное задание по Модулю 1

Кузьменко Елена, А-02-23, Вариант 11

## Задание

1)	Для чего предназначено предложение "Окно (Window)" главного меню?

2)	Создайте объект-кортеж с 5 произвольными двоичными элементами. Напишите инструкцию,  доказывающую, что создан объект именно требуемого типа. Напишите инструкцию отображения списка атрибутов созданного объекта.

3)	Напишите инструкцию создания нового кортежа, в который включите два последних элемента ранее созданного кортежа, и два элемента - символы "a" и "b". Отобразите созданный объект на экране.

4)	Преобразуйте кортеж в список. Вставьте в качестве второго элемента списка значение "Автоматизированная система". Отобразите полученный объект. Напишите инструкцию, создающую символьную строку со значением, равным символам из вставленного элемента, начиная с 19-го.

5)	Напишите инструкции, обеспечивающие подсчет суммы числовых элементов кортежа. С использованием формата отобразите результат по шаблону: "Сумма элементов=:".

## Решение

### 1)Предназначения "Окна(Windows)" главного меню

"Window" предназначен для быстрого переключения между открытыми окнами среды. Например, это удобно использовать, если наша работа требует несколько текстовых редакторов, разбросанных по разным файлам, тогда по названию можно быстро переключиться на нужный.

### 2)Объект-кортеж

```py
>>> n1=bin(2); n2=bin(15); n3=bin(12); n4=bin(43); n5=bin(95)
>>> n1; n2; n3; n4; n5 
'0b10'
'0b1111'
'0b1100'
'0b101011'
'0b1011111'
>>> type(n1)
<class 'str'> #str, а не bin. В кортеж добавим двоичные элементы(не строковые)
>>> k=(0b10,0b1111,0b1100,0b101011,0b1011111); k #Кортеж способен выполнять действия с числами. В данном случае он bin преобразует в int
(2, 15, 12, 43, 95)
>>> type(k); dir(k)
<class 'tuple'>
['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index']
```

### 3)Новый кортеж

```py
>>> new_k=k[-2:]+('a','b'); new_k 
(43, 95, 'a', 'b')
```

### 4)Преобразование в список

```py
l=list(new_k); l
[43, 95, 'a', 'b']
l.insert(1,'Автоматизированная система') # 1 - второй элемент
l
[43, 'Автоматизированная система', 95, 'a', 'b']
new_str=l[1][18:]; new_str # [1] - второй элемент списка, [18:] - начиная с 19 элемента
' система'
```

### 5)Подсчет суммы кортежа

```py
#Так как я знаю, что последние два элемента НЕ числа(они мешают применить инструкцию sum), с помощью среза я избавлюсь от строк для подсчета числовых элементов кортежа(числ эл. - все, за исключением последних двух).

>>> sum1=sum(new_k[:2]); sum1  # 43+95
138

#Альтернативное решение можно представить с циклом for и if(необходимо, если неизвество на каких местах строки и числа), однако данная тема ещё не была пройдена. В рамках данного задания известно под какими индеками находятся те или иные элементы.
>>> itog="Сумма элементов=: {}"; itog
'Сумма элементов=: {}'
>>> itog.format(sum1)
'Сумма элементов=: 138'
```

