Сделал общее контрольное задание

main
TerekhovFV 1 месяц назад
Родитель 935eb40780
Сommit 7ea96ca644

@ -0,0 +1,29 @@
import keyword
familia = "Terekhov"
first_letter = familia[0]
sp_kw = list(keyword.kwlist)
kort_nam = ("Фёдор", "Дима", "Вадим", "Екатерина")
is_tuple = (type(kort_nam) is tuple)
kort_nam = kort_nam + ("Павел", "Иван")
count_dima = kort_nam.count("Дима")
dict_bas = {
"строка": familia,
"символ (строка из 1 буквы)": first_letter,
"список": sp_kw,
"кортеж": kort_nam,
"логический": is_tuple,
}
print(f"familia = {familia}")
print(f"first_letter = {first_letter}")
print(f"sp_kw (без 'nonlocal') содержит {len(sp_kw)} ключевых слов")
print(f"Проверка типа kort_nam — tuple: {is_tuple}")
print(f"kort_nam = {kort_nam}")
print(f"Количество вхождений 'Дима' в kort_nam: {count_dima}")
print("dict_bas (ключи → значение):")
for k in dict_bas:
print(f" {k}: {dict_bas[k]}")

Двоичные данные
TEMA2/images/control_task.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 39 KiB

@ -13,16 +13,14 @@
> print("\nЗначения переменных через точку с запятой:") > print("\nЗначения переменных через точку с запятой:")
> print(f1); print(f2) > print(f1); print(f2)
Ответ программы: Ответ программы:![Task 1.1](images/Task1_1.png)
![Task 1.1](images/Task1_1.png)
2. _"Для того, чтобы узнать, какие объекты уже существуют в данный момент в среде Python (в пространстве имен), используйте функцию dir без аргументов."_ 2. _"Для того, чтобы узнать, какие объекты уже существуют в данный момент в среде Python (в пространстве имен), используйте функцию dir без аргументов."_
> print("\nСуществующие объекты в пространстве имен:") > print("\nСуществующие объекты в пространстве имен:")
> print(dir()) > print(dir())
Ответ программы: Ответ программы:![Task 1.2](images/Task1_2.png)
![Task 1.2](images/Task1_2.png)
3. _"Для получения списка атрибутов любого объекта используйте ту же функцию dir(), с аргументами – именами интересующих объектов"_ 3. _"Для получения списка атрибутов любого объекта используйте ту же функцию dir(), с аргументами – именами интересующих объектов"_
@ -32,16 +30,14 @@
> print("\nАтрибуты объекта f2:") > print("\nАтрибуты объекта f2:")
> print(dir(f2)) > print(dir(f2))
Ответ программы: Ответ программы:![Task 1.3](images/Task1_3.png)
![Task 1.3](images/Task1_3.png)
4. _"Для определения классовой принадлежности любого объекта следует использовать функцию type()."_ 4. _"Для определения классовой принадлежности любого объекта следует использовать функцию type()."_
> print(f"\nТип f1: {type(f1)}") #f перед текстом обозначает строку, переменные пишутся в {} > print(f"\nТип f1: {type(f1)}") #f перед текстом обозначает строку, переменные пишутся в {}
> print(f"Тип f2: {type(f2)}") > print(f"Тип f2: {type(f2)}")
Ответ программы: Ответ программы:![Task 1.4](images/Task1_4.png)
![Task 1.4](images/Task1_4.png)
5. _"Для удаления объекта или его части из оперативной памяти используйте инструкцию del."_ 5. _"Для удаления объекта или его части из оперативной памяти используйте инструкцию del."_
@ -58,6 +54,7 @@
![Task 1.5](images/Task1_5.png) ![Task 1.5](images/Task1_5.png)
## 2. Изучение правил именования объектов в Python. ## 2. Изучение правил именования объектов в Python.
_"Правила именования: _"Правила именования:
• имена должны состоять из латинских букв, цифр и символов подчеркивания; • имена должны состоять из латинских букв, цифр и символов подчеркивания;
• имена должны начинаться с латинской буквы (иногда могут начинаться с символа подчеркивания, но это – особый вид переменных); • имена должны начинаться с латинской буквы (иногда могут начинаться с символа подчеркивания, но это – особый вид переменных);
@ -74,18 +71,20 @@ _"Правила именования:
![Task 2.2](images/Task2_2.png) ![Task 2.2](images/Task2_2.png)
## 3. Вывод списка ключевых слов с помощью инструкции import keyword && keyword.kwlist ## 3. Вывод списка ключевых слов с помощью инструкции import keyword && keyword.kwlist
> import keyword > import keyword
> >
> print("Список ключевых слов Python:") > print("Список ключевых слов Python:")
> print(keyword.kwlist) > print(keyword.kwlist)
![Task 3.1](images/Task3_1.png) > ![Task 3.1](images/Task3_1.png)
Сохранение списка в переменной: > Сохранение списка в переменной:
> keywords_list = keyword.kwlist > keywords_list = keyword.kwlist
> print("\nСохранение в виде списка:") > print("\nСохранение в виде списка:")
> print(keywords_list) > print(keywords_list)
![Task 3.2](images/Task3_2.png) > ![Task 3.2](images/Task3_2.png)
## 4. Вывод списка встроенных идентификаторов с помощью инструкций import builtins && dir(builtins) ## 4. Вывод списка встроенных идентификаторов с помощью инструкций import builtins && dir(builtins)
> import builtins > import builtins
> >
> print("Список встроенных идентификаторов Python:") > print("Список встроенных идентификаторов Python:")
@ -141,6 +140,7 @@ _"Правила именования:
![Task 4.2.9](images/Task4_2_9.png) ![Task 4.2.9](images/Task4_2_9.png)
## 5. Малые и большие буквы в именах объектов различаются. ## 5. Малые и большие буквы в именах объектов различаются.
> Gg1=45 > Gg1=45
> print(Gg1) > print(Gg1)
> print(gg1) > print(gg1)
@ -151,6 +151,7 @@ _"Правила именования:
## 6. Изучение простых базовых типов объектов: логический (bool), целый (int), вещественный (float), комплексный (complex), строка символов (str). ## 6. Изучение простых базовых типов объектов: логический (bool), целый (int), вещественный (float), комплексный (complex), строка символов (str).
### 6.1. Числовые типы. ### 6.1. Числовые типы.
1. Логический тип. 1. Логический тип.
> bb1=True > bb1=True
@ -159,8 +160,7 @@ _"Правила именования:
> print(f"bb2 = {bb2}") > print(f"bb2 = {bb2}")
> print(f"Класс объекта: {type(bb1)}") > print(f"Класс объекта: {type(bb1)}")
Ответ программы: Ответ программы:![Task 6.1.1](images/Task6_1_1.png)
![Task 6.1.1](images/Task6_1_1.png)
2. Целочисленный тип. 2. Целочисленный тип.
@ -168,8 +168,7 @@ _"Правила именования:
> print(f"\nii1 = {ii1}") > print(f"\nii1 = {ii1}")
> print(f"Класс объекта: {type(ii1)}") > print(f"Класс объекта: {type(ii1)}")
Ответ программы: Ответ программы:![Task 6.1.2](images/Task6_1_2.png)
![Task 6.1.2](images/Task6_1_2.png)
3. Экспоненциальная форма записи вещественного числа. 3. Экспоненциальная форма записи вещественного числа.
@ -177,16 +176,15 @@ _"Правила именования:
> print(f"\nff1 = {ff1}") > print(f"\nff1 = {ff1}")
> print(f"Класс объекта: {type(ff1)}") > print(f"Класс объекта: {type(ff1)}")
Ответ программы: Ответ программы:![Task 6.1.3](images/Task6_1_3.png)
![Task 6.1.3](images/Task6_1_3.png)
4. Двоичное число. 4. Двоичное число.
> dv1=0b1101010 > dv1=0b1101010
> print(f"\ndv1 = {dv1}") > print(f"\ndv1 = {dv1}")
> print(f"Класс объекта: {type(dv1)}") > print(f"Класс объекта: {type(dv1)}")
Ответ программы: Ответ программы:![Task 6.1.4](images/Task6_1_4.png)
![Task 6.1.4](images/Task6_1_4.png)
5. Восьмеричное число. 5. Восьмеричное число.
@ -194,8 +192,7 @@ _"Правила именования:
> print(f"\nvsm1 = {vsm1}") > print(f"\nvsm1 = {vsm1}")
> print(f"Класс объекта: {type(vsm1)}") > print(f"Класс объекта: {type(vsm1)}")
Ответ программы: Ответ программы:![Task 6.1.5](images/Task6_1_5.png)
![Task 6.1.5](images/Task6_1_5.png)
6. Шестнадцатеричное число. 6. Шестнадцатеричное число.
@ -203,8 +200,7 @@ _"Правила именования:
> print(f"\nshest1 = {shest1}") > print(f"\nshest1 = {shest1}")
> print(f"Класс объекта: {type(shest1)}") > print(f"Класс объекта: {type(shest1)}")
Ответ программы: Ответ программы:![Task 6.1.6](images/Task6_1_6.png)
![Task 6.1.6](images/Task6_1_6.png)
7. Комплексное число. 7. Комплексное число.
@ -212,8 +208,7 @@ _"Правила именования:
> print(f"\ncc1 = {cc1}") > print(f"\ncc1 = {cc1}")
> print(f"Класс объекта: {type(cc1)}") > print(f"Класс объекта: {type(cc1)}")
Ответ программы: Ответ программы:![Task 6.1.7](images/Task6_1_7.png)
![Task 6.1.7](images/Task6_1_7.png)
8. Вещественное число. 8. Вещественное число.
@ -224,8 +219,7 @@ _"Правила именования:
> print(f"Класс объекта a: {type(a)}") > print(f"Класс объекта a: {type(a)}")
> print(f"Класс объекта b: {type(b)}") > print(f"Класс объекта b: {type(b)}")
Ответ программы: Ответ программы:![Task 6.1.8](images/Task6_1_8.png)
![Task 6.1.8](images/Task6_1_8.png)
9. Альтернативный способ задания комплексного числа. 9. Альтернативный способ задания комплексного числа.
@ -238,7 +232,6 @@ _"Правила именования:
### 6.2. Строки. ### 6.2. Строки.
1. *Строки можно заключать в апострофы или в двойные кавычки. Внутри строки символов можно использовать, так называемые, «экранированные последовательности, начинающиеся со знака «\»(обратный слеш), например, \\, \', \", \t, \n и другие.* 1. *Строки можно заключать в апострофы или в двойные кавычки. Внутри строки символов можно использовать, так называемые, «экранированные последовательности, начинающиеся со знака «\»(обратный слеш), например, \\, \', \", \t, \n и другие.*
> ss1='Это - строка символов' > ss1='Это - строка символов'
@ -246,16 +239,14 @@ _"Правила именования:
> ss1a="Это - \" строка символов \", \n \t выводимая на двух строках" > ss1a="Это - \" строка символов \", \n \t выводимая на двух строках"
> print(ss1a) > print(ss1a)
Ответ программы: Ответ программы:![Task 6.2.1](images/Task6_2_1.png)
![Task 6.2.1](images/Task6_2_1.png)
2. *Создайте строку по шаблону. Выведите получившуюся строку на экран.* 2. *Создайте строку по шаблону. Выведите получившуюся строку на экран.*
> ss1b= 'Меня зовут: \n TerekhovFV' > ss1b= 'Меня зовут: \n TerekhovFV'
> print(ss1b) > print(ss1b)
Ответ программы: Ответ программы:![Task 6.2.2](images/Task6_2_2.png)
![Task 6.2.2](images/Task6_2_2.png)
3. *Многострочные строки можно задавать в виде значения объекта с использованием тройных кавычек. При вводе такой строки символ приглашения в начале строки не появится, пока не будет вновь введены тройные кавычки.* 3. *Многострочные строки можно задавать в виде значения объекта с использованием тройных кавычек. При вводе такой строки символ приглашения в начале строки не появится, пока не будет вновь введены тройные кавычки.*
@ -264,8 +255,7 @@ _"Правила именования:
> имеющее более сложный тип из тех, которые участвуют в операции.""" > имеющее более сложный тип из тех, которые участвуют в операции."""
> print(mnogo) > print(mnogo)
Ответ программы: Ответ программы:![Task 6.2.3](images/Task6_2_3.png)
![Task 6.2.3](images/Task6_2_3.png)
4. *Можно обращаться к частям строки символов с использованием индексов символов по их порядку в строке. При этом надо учитывать, что нумерация символов начинается с 0. При знаке «-»(минус) отсчёт от конца строки.* 4. *Можно обращаться к частям строки символов с использованием индексов символов по их порядку в строке. При этом надо учитывать, что нумерация символов начинается с 0. При знаке «-»(минус) отсчёт от конца строки.*
@ -273,8 +263,7 @@ _"Правила именования:
> print(ss1[8]) > print(ss1[8])
> print(ss1[-2]) > print(ss1[-2])
Ответ программы: Ответ программы:![Task 6.2.4](images/Task6_2_4.png)
![Task 6.2.4](images/Task6_2_4.png)
5. *Операция «разрезания» или «создания среза», создающая новый объект. В срезе указываются не позиции элементов, а их индексы и что указываемая правая граница в срез не включается.* 5. *Операция «разрезания» или «создания среза», создающая новый объект. В срезе указываются не позиции элементов, а их индексы и что указываемая правая граница в срез не включается.*
@ -298,22 +287,18 @@ _"Правила именования:
> print(ss1[-4:3:-2]) > print(ss1[-4:3:-2])
Ответ программы: Ответ программы:![Task 6.2.5.2](images/Task6_2_5_1.png)
![Task 6.2.5.2](images/Task6_2_5_1.png)
6. *Строка является неизменяемым объектом. Однако, можно это сделать по-другому, переопределив строку.* 6. *Строка является неизменяемым объектом. Однако, можно это сделать по-другому, переопределив строку.*
> ss1[4]='=' > ss1[4]='='
Ответ программы: Ответ программы:![Task 6.2.6.1](images/Task6_2_6_1.png)
![Task 6.2.6.1](images/Task6_2_6_1.png)
> ss1=ss1[:4]+'='+ss1[5:] > ss1=ss1[:4]+'='+ss1[5:]
> print(ss1) > print(ss1)
Ответ программы: Ответ программы:![Task 6.2.6.2](images/Task6_2_6_2.png)
![Task 6.2.6.2](images/Task6_2_6_2.png)
7. *С использованием ранее созданной строки ss1b попробуйте создать объекты с разными срезами исходной строки.* 7. *С использованием ранее созданной строки ss1b попробуйте создать объекты с разными срезами исходной строки.*
@ -323,8 +308,7 @@ _"Правила именования:
> ss1b="My name is "+ ss1b[-10:] > ss1b="My name is "+ ss1b[-10:]
> print(ss1b) > print(ss1b)
Ответ программы: Ответ программы:![Task 6.2.7](images/Task6_2_7.png)
![Task 6.2.7](images/Task6_2_7.png)
8. *Самостоятельно придумайте значения и создайте объекты разных типов. После этого отобразите типы и значения созданных объектов.* 8. *Самостоятельно придумайте значения и создайте объекты разных типов. После этого отобразите типы и значения созданных объектов.*
@ -345,7 +329,6 @@ _"Правила именования:
Ответ программы: Ответ программы:
![Task 6.2.8](images/Task6_2_8.png) ![Task 6.2.8](images/Task6_2_8.png)
## 7. Изучение более сложных типов объектов: списки (list), кортежи (tuple), словари (dict), множества (set). ## 7. Изучение более сложных типов объектов: списки (list), кортежи (tuple), словари (dict), множества (set).
### 7.1. Список. ### 7.1. Список.
@ -355,53 +338,46 @@ _"Правила именования:
> spis1=[111,'Spisok',5-9j] > spis1=[111,'Spisok',5-9j]
> print(spis1) > print(spis1)
Ответ программы: Ответ программы:![Task 7.1.1.](images/Task7_1_1.png)
![Task 7.1.1.](images/Task7_1_1.png)
2. *Cписок, содержащий последовательность отсчетов сигнала в виде «единичной ступеньки».* 2. *Cписок, содержащий последовательность отсчетов сигнала в виде «единичной ступеньки».*
> stup=[0,0,1,1,1,1,1,1,1] > stup=[0,0,1,1,1,1,1,1,1]
> print(stup) > print(stup)
Ответ программы: Ответ программы:![Task 7.1.2.](images/Task7_1_2.png)
![Task 7.1.2.](images/Task7_1_2.png)
3. *Список можно вводить на нескольких строках. При этом список будет считаться незавершенным, пока не будет введена закрывающая квадратная скобка.* 3. *Список можно вводить на нескольких строках. При этом список будет считаться незавершенным, пока не будет введена закрывающая квадратная скобка.*
> spis=[1,2,3,4, > spis=[1,2,3,4,
5,6,7, > 5,6,7,
8,9,10] > 8,9,10]
> print(spis) > print(spis)
Ответ программы: Ответ программы:![Task 7.1.3.](images/Task7_1_3.png)
![Task 7.1.3.](images/Task7_1_3.png)
4. *При работе с элементами списка можно использовать индексы точно так же, как это делали с элементами символьной строки.* 4. *При работе с элементами списка можно использовать индексы точно так же, как это делали с элементами символьной строки.*
> print(stup[-8::2]) > print(stup[-8::2])
Ответ программы: Ответ программы:![Task 7.1.4.](images/Task7_1_4.png)
![Task 7.1.4.](images/Task7_1_4.png)
> spis1[1]='Список' > spis1[1]='Список'
> print(spis1) > print(spis1)
Ответ программы: Ответ программы:![Task 7.1.5.](images/Task7_1_5.png)
![Task 7.1.5.](images/Task7_1_5.png)
5. *Текущее число элементов в списке можно узнать с помощью функции len().* 5. *Текущее число элементов в списке можно узнать с помощью функции len().*
> print(len(spis1)) > print(len(spis1))
Ответ программы: Ответ программы:![Task 7.1.6.](images/Task7_1_6.png)
![Task 7.1.6.](images/Task7_1_6.png)
6. *Описание метода можно вывести с помощью функции help().* 6. *Описание метода можно вывести с помощью функции help().*
> help(spis1.append) > help(spis1.append)
Ответ программы: Ответ программы:![Task 7.1.7.](images/Task7_1_7.png)
![Task 7.1.7.](images/Task7_1_7.png)
7. *С помощью методов объектов-списков можно добавлять и удалять элементы.* 7. *С помощью методов объектов-списков можно добавлять и удалять элементы.*
@ -410,8 +386,7 @@ _"Правила именования:
> spis1=spis1+[ss1b] > spis1=spis1+[ss1b]
> print(spis1) > print(spis1)
Ответ программы: Ответ программы:![Task 7.1.8.](images/Task7_1_8.png)
![Task 7.1.8.](images/Task7_1_8.png)
8. *Также могут использоваться методы insert, remove, extend, clear, sort, reverse, copy, count, index.* 8. *Также могут использоваться методы insert, remove, extend, clear, sort, reverse, copy, count, index.*
@ -476,51 +451,46 @@ _"Правила именования:
> print("13. 'яблоко' в списке?", "яблоко" in fruits) > print("13. 'яблоко' в списке?", "яблоко" in fruits)
> print(" 'арбуз' в списке?", "арбуз" in fruits) > print(" 'арбуз' в списке?", "арбуз" in fruits)
Ответ программы: Ответ программы:![Task 7.1.9.](images/Task7_1_9.png)
![Task 7.1.9.](images/Task7_1_9.png)
9. *Списки могут быть вложенными.* 9. *Списки могут быть вложенными.*
> spis2=[spis1,[4,5,6,7]] > spis2=[spis1,[4,5,6,7]]
> print(spis2) > print(spis2)
Ответ программы: Ответ программы:![Task 7.1.10.](images/Task7_1_10.png)
![Task 7.1.10.](images/Task7_1_10.png)
10. *Обращение к элементам вложенного списка.* 10. *Обращение к элементам вложенного списка.*
> print(spis2[0][1]) > print(spis2[0][1])
Ответ программы: Ответ программы:![Task 7.1.11.](images/Task7_1_11.png)
![Task 7.1.11.](images/Task7_1_11.png)
11. *Изменение элемента вложенного списка.* 11. *Изменение элемента вложенного списка.*
> spis2[0][1]=78 > spis2[0][1]=78
> print(spis2[0][1]) > print(spis2[0][1])
Ответ программы: Ответ программы:![Task 7.1.12.](images/Task7_1_12.png)
![Task 7.1.12.](images/Task7_1_12.png)
12. *Объект-список, элементами которого будут объекты разных типов.* 12. *Объект-список, элементами которого будут объекты разных типов.*
> разнообразный_список = [ > разнообразный_список = [
42, # целое число > 42, # целое число
"Привет, мир!", # строка > "Привет, мир!", # строка
True, # логическое значение > True, # логическое значение
3.14159, # вещественное число > 3.14159, # вещественное число
["вложенный", "список", 123], # вложенный список > ["вложенный", "список", 123], # вложенный список
{"ключ": "значение"}, # словарь > {"ключ": "значение"}, # словарь
None, # специальное значение > None, # специальное значение
complex(2, 3), # комплексное число > complex(2, 3), # комплексное число
False # еще одно логическое значение > False # еще одно логическое значение
> ] > ]
> print(разнообразный_список) > print(разнообразный_список)
Ответ программы: Ответ программы:
![Task 7.1.13.](images/Task7_1_13.png) ![Task 7.1.13.](images/Task7_1_13.png)
### 7.2. Кортеж. ### 7.2. Кортеж.
1. *Объект-кортеж похож на список, но его нельзя изменить – кортежи являются последовательностями, как списки, но они являются неизменяемыми, как строки. В отличие от списка литерал кортежа заключается в круглые, а не в квадратные скобки. Кортежи также поддер­живают включение в них объектов различных типов и операции, типич­ные для последовательностей.* 1. *Объект-кортеж похож на список, но его нельзя изменить – кортежи являются последовательностями, как списки, но они являются неизменяемыми, как строки. В отличие от списка литерал кортежа заключается в круглые, а не в квадратные скобки. Кортежи также поддер­живают включение в них объектов различных типов и операции, типич­ные для последовательностей.*
@ -528,16 +498,14 @@ _"Правила именования:
> kort1=(222,'Kortezh',77+8j) > kort1=(222,'Kortezh',77+8j)
> print(kort1) > print(kort1)
Ответ программы: Ответ программы:![Task 7.2.1.](images/Task7_2_1.png)
![Task 7.2.1.](images/Task7_2_1.png)
2. *Изменить кортеж нельзя, но можно его переопределить.* 2. *Изменить кортеж нельзя, но можно его переопределить.*
> kort1= kort1+(1,2) > kort1= kort1+(1,2)
> print(kort1) > print(kort1)
Ответ программы: Ответ программы:![Task 7.2.2](images/Task7_2_2.png)
![Task 7.2.2](images/Task7_2_2.png)
3. *Если надо добавить еще один элемент в кортеж.* 3. *Если надо добавить еще один элемент в кортеж.*
@ -545,16 +513,14 @@ _"Правила именования:
> kort1= kort1+(ss1b,) #ЗДЕСЬ ЗАПЯТАЯ ОБЯЗАТЕЛЬНА, ИНАЧЕ ОШИБКА > kort1= kort1+(ss1b,) #ЗДЕСЬ ЗАПЯТАЯ ОБЯЗАТЕЛЬНА, ИНАЧЕ ОШИБКА
> print(kort1) > print(kort1)
Ответ программы: Ответ программы:![Task 7.2.3](images/Task7_2_3.png)
![Task 7.2.3](images/Task7_2_3.png)
4. *Теперь переопределим кортеж с удалением комплексного элемента.* 4. *Теперь переопределим кортеж с удалением комплексного элемента.*
> kort2=kort1[:2]+kort1[3:] > kort2=kort1[:2]+kort1[3:]
> print(kort2) > print(kort2)
Ответ программы: Ответ программы:![Task 7.2.4](images/Task7_2_4.png)
![Task 7.2.4](images/Task7_2_4.png)
5. *Два важных метода кортежа (они есть также и у списков):* 5. *Два важных метода кортежа (они есть также и у списков):*
@ -562,40 +528,36 @@ _"Правила именования:
> print(kort1.index(2)) > print(kort1.index(2))
Ответ программы: Ответ программы:![Task 7.2.5](images/Task7_2_5.png)
![Task 7.2.5](images/Task7_2_5.png)
* Подсчет числа вхождений заданного элемента в кортеже: * Подсчет числа вхождений заданного элемента в кортеже:
> print(kort1.count(222)) > print(kort1.count(222))
Ответ программы: Ответ программы:![Task 7.2.6](images/Task7_2_6.png)
![Task 7.2.6](images/Task7_2_6.png)
6. *Методов append и pop у кортежей нет, т.к. они являются неизменяемыми.* 6. *Методов append и pop у кортежей нет, т.к. они являются неизменяемыми.*
> kort1[2]=90 > kort1[2]=90
Ответ программы: Ответ программы:![Task 7.2.7](images/Task7_2_7.png)
![Task 7.2.7](images/Task7_2_7.png)
7. *Объект-кортеж с элементами разных типов: число, строка, список, кортеж.* 7. *Объект-кортеж с элементами разных типов: число, строка, список, кортеж.*
> разнообразный_кортеж = ( > разнообразный_кортеж = (
100, # целое число > 100, # целое число
"Hello, Tuple!", # строка > "Hello, Tuple!", # строка
[1, 2, 3, "список внутри кортежа"], # список > [1, 2, 3, "список внутри кортежа"], # список
(4, 5, 6), # вложенный кортеж > (4, 5, 6), # вложенный кортеж
3.14, # вещественное число > 3.14, # вещественное число
True, # логическое значение > True, # логическое значение
None # специальное значение > None # специальное значение
> ) > )
> print(разнообразный_кортеж) > print(разнообразный_кортеж)
Ответ программы: Ответ программы:
![Task 7.2.8](images/Task7_2_8.png) ![Task 7.2.8](images/Task7_2_8.png)
### 7.3. Словарь. ### 7.3. Словарь.
1. *Объект-словарь похож на ассоциативные массивы в других языках программирования. Его содержанием является совокупность пар: «ключ (key)»:«значение (value)». В качестве ключей могут использоваться неизменяемые типы объектов. Значениями могут быть объекты любого типа. Ссылка на ключ обеспечивает быстрый доступ к связанному с ним значению. В отличие от списков и кортежей совокупность элементов словаря не является упорядоченной (последовательностью). Его элементы могут изменяться с помощью операции присваивания значений.* 1. *Объект-словарь похож на ассоциативные массивы в других языках программирования. Его содержанием является совокупность пар: «ключ (key)»:«значение (value)». В качестве ключей могут использоваться неизменяемые типы объектов. Значениями могут быть объекты любого типа. Ссылка на ключ обеспечивает быстрый доступ к связанному с ним значению. В отличие от списков и кортежей совокупность элементов словаря не является упорядоченной (последовательностью). Его элементы могут изменяться с помощью операции присваивания значений.*
@ -603,15 +565,13 @@ _"Правила именования:
> dic1={'Saratov':145, 'Orel':56, 'Vologda':45} > dic1={'Saratov':145, 'Orel':56, 'Vologda':45}
> print(dic1) > print(dic1)
Ответ программы: Ответ программы:![Task 7.3.1](images/Task7_3_1.png)
![Task 7.3.1](images/Task7_3_1.png)
2. *Обращение к элементам словаря не по индексам, а по ключам:* 2. *Обращение к элементам словаря не по индексам, а по ключам:*
> print(dic1['Orel']) > print(dic1['Orel'])
Ответ программы: Ответ программы:![Task 7.3.2](images/Task7_3_2.png)
![Task 7.3.2](images/Task7_3_2.png)
3. *Пополнение словаря (добавление элемента, изменение словаря):* 3. *Пополнение словаря (добавление элемента, изменение словаря):*
@ -621,16 +581,14 @@ _"Правила именования:
Ответ программы: Ответ программы:
![Task 7.3.3](images/Task7_3_3.png) ![Task 7.3.3](images/Task7_3_3.png)
*Обратите внимание на то, что в силу неупорядоченности словаря при его выводе элементы могут располагаться не в том порядке, в каком они задавались при его формировании.* *Обратите внимание на то, что в силу неупорядоченности словаря при его выводе элементы могут располагаться не в том порядке, в каком они задавались при его формировании.**Для того, чтобы получить перечень ключей или значений из словаря следует использовать методы keys или values, создающие списки, соответственно, ключей или значений из словаря.*
*Для того, чтобы получить перечень ключей или значений из словаря следует использовать методы keys или values, создающие списки, соответственно, ключей или значений из словаря.*
4. *Функция sorted позволяет увидеть список упорядоченным по ключам или по значениям:* 4. *Функция sorted позволяет увидеть список упорядоченным по ключам или по значениям:*
> print(sorted(dic1.keys())) > print(sorted(dic1.keys()))
> print(sorted(dic1.values())) > print(sorted(dic1.values()))
Ответ программы: Ответ программы:![Task 7.3.4](images/Task7_3_4.png)
![Task 7.3.4](images/Task7_3_4.png)
5. *Элементы словаря могут быть любого типа, в том числе и словарями.* 5. *Элементы словаря могут быть любого типа, в том числе и словарями.*
@ -638,8 +596,7 @@ _"Правила именования:
> dic3={'statistics':dic2,'POAS':['base','elementary','programming']} > dic3={'statistics':dic2,'POAS':['base','elementary','programming']}
> print(dic3['statistics'][2]) > print(dic3['statistics'][2])
Ответ программы: Ответ программы:![Task 7.3.5](images/Task7_3_5.png)
![Task 7.3.5](images/Task7_3_5.png)
6. *Более сложный словарь из списка с элементами-кортежами с использованием функции dict:* 6. *Более сложный словарь из списка с элементами-кортежами с использованием функции dict:*
@ -647,16 +604,14 @@ _"Правила именования:
> dic4=dict([(1,['A','B','C']),(2,[4,5]),('Q','Prim'),('Stroka',ss1b)]) > dic4=dict([(1,['A','B','C']),(2,[4,5]),('Q','Prim'),('Stroka',ss1b)])
> print(dic4) > print(dic4)
Ответ программы: Ответ программы:![Task 7.3.6](images/Task7_3_6.png)
![Task 7.3.6](images/Task7_3_6.png)
7. *Еще один словарь из двух списков: один для ключей и другой – для значений, с помощью функций dict и zip:* 7. *Еще один словарь из двух списков: один для ключей и другой – для значений, с помощью функций dict и zip:*
> dic5=dict(zip(['A','B','C','Stroka'],[16,-3,9,ss1b])) > dic5=dict(zip(['A','B','C','Stroka'],[16,-3,9,ss1b]))
> print(dic5) > print(dic5)
Ответ программы: Ответ программы:![Task 7.3.7](images/Task7_3_7png)
![Task 7.3.7](images/Task7_3_7png)
8. *Объект-кортеж с 7 элементами и объект-список с 5 элементами и попробуйте создать из них словарь с помощью функций dict и zip.* 8. *Объект-кортеж с 7 элементами и объект-список с 5 элементами и попробуйте создать из них словарь с помощью функций dict и zip.*
@ -676,30 +631,26 @@ _"Правила именования:
> mnoz1={'двигатель','датчик','линия связи','датчик','микропроцессор','двигатель'} > mnoz1={'двигатель','датчик','линия связи','датчик','микропроцессор','двигатель'}
> print(mnoz1) > print(mnoz1)
Ответ программы: Ответ программы:![Task 7.4.1.](images/Task7_4_1.png)
![Task 7.4.1.](images/Task7_4_1.png)
2. *Определение числа элементов:* 2. *Определение числа элементов:*
> print(len(mnoz1)) > print(len(mnoz1))
Ответ программы: Ответ программы:![Task 7.4.2.](images/Task7_4_2.png)
![Task 7.4.2.](images/Task7_4_2.png)
3. *Проверка наличия элемента во множестве:* 3. *Проверка наличия элемента во множестве:*
> print('датчик' in mnoz1) > print('датчик' in mnoz1)
Ответ программы: Ответ программы:![Task 7.4.3.](images/Task7_4_3.png)
![Task 7.4.3.](images/Task7_4_3.png)
4. *Дбавление элемента:* 4. *Добавление элемента:*
> mnoz1.add('реле') > mnoz1.add('реле')
> print(mnoz1) > print(mnoz1)
Ответ программы: Ответ программы:![Task 7.4.4.](images/Task7_4_4.png)
![Task 7.4.4.](images/Task7_4_4.png)
5. *Удаление элемента:* 5. *Удаление элемента:*
@ -712,14 +663,14 @@ _"Правила именования:
6. *Объект-множество с элементами разных типов.* 6. *Объект-множество с элементами разных типов.*
> разнообразное_множество = { > разнообразное_множество = {
42, # целое число > 42, # целое число
"hello", # строка > "hello", # строка
3.14, # вещественное число > 3.14, # вещественное число
True, # логическое значение (True = 1) > True, # логическое значение (True = 1)
(1, 2, 3), # кортеж (неизменяемый) > (1, 2, 3), # кортеж (неизменяемый)
"world", # еще одна строка > "world", # еще одна строка
100, # еще одно число > 100, # еще одно число
False # логическое значение (False = 0) > False # логическое значение (False = 0)
> } > }
> print(разнообразное_множество) > print(разнообразное_множество)
> print('\n') > print('\n')
@ -733,3 +684,38 @@ _"Правила именования:
Ответ программы: Ответ программы:
![Task 7.4.6.](images/Task7_4_6.png) ![Task 7.4.6.](images/Task7_4_6.png)
## Общее контрольное задание.
>import keyword
>
>familia = "Terekhov"
>first_letter = familia[0]
>
>sp_kw = list(keyword.kwlist)
>
>kort_nam = ("Фёдор", "Дима", "Вадим", "Екатерина")
>is_tuple = (type(kort_nam) is tuple)
>kort_nam = kort_nam + ("Павел", "Иван")
>count_dima = kort_nam.count("Дима")
>
>dict_bas = {
>"строка": familia,
>"символ (строка из 1 буквы)": first_letter,
>"список": sp_kw,
>"кортеж": kort_nam,
>"логический": is_tuple,
>}
>
>print(f"familia = {familia}")
>print(f"first_letter = {first_letter}")
>print(f"sp_kw (без 'nonlocal') содержит {len(sp_kw)} ключевых слов")
>print(f"Проверка типа kort_nam — tuple: {is_tuple}")
>print(f"kort_nam = {kort_nam}")
>print(f"Количество вхождений 'Дима' в kort_nam: {count_dima}")
>print("dict_bas (ключи → значение):")
>for k in dict_bas:
>print(f" {k}: {dict_bas[k]}")
Ответ программы:
![Control task](images/control_task.png)
Загрузка…
Отмена
Сохранить