ответвлено от main/python-labs
Tema2/task.md
Этот коммит содержится в:
@@ -3,8 +3,8 @@
|
|||||||
Филиппов Даниил Юрьевич, А-01-23
|
Филиппов Даниил Юрьевич, А-01-23
|
||||||
|
|
||||||
# 1. Запуск оболочки IDLE и установка рабочего каталога
|
# 1. Запуск оболочки IDLE и установка рабочего каталога
|
||||||
>>>import os
|
>>> import os
|
||||||
>>>os.chdir('C:\\Users\\danii\\Desktop\\FilippovDY\\python-labs\\TEMA2\\')
|
>>> os.chdir('C:\\Users\\danii\\Desktop\\FilippovDY\\python-labs\\TEMA2\\')
|
||||||
|
|
||||||
# 2. Изучение простых объектов. Операции присваивания значения объектам-переменным
|
# 2. Изучение простых объектов. Операции присваивания значения объектам-переменным
|
||||||
Операция присваивания
|
Операция присваивания
|
||||||
@@ -31,13 +31,13 @@
|
|||||||
|
|
||||||
Определение классовой принадлежности объекта
|
Определение классовой принадлежности объекта
|
||||||
|
|
||||||
>>>type(f2)
|
>>> type(f2)
|
||||||
<class 'int'>
|
<class 'int'>
|
||||||
|
|
||||||
Удаление объекта из оперативной памяти:
|
Удаление объекта из оперативной памяти:
|
||||||
|
|
||||||
>>>del f1,f2
|
>>> del f1,f2
|
||||||
>>>dir()
|
>>> dir()
|
||||||
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'os']
|
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'os']
|
||||||
|
|
||||||
|
|
||||||
@@ -78,29 +78,29 @@
|
|||||||
|
|
||||||
Взятие модуля:
|
Взятие модуля:
|
||||||
|
|
||||||
>>>abs(-6)
|
>>> abs(-6)
|
||||||
6
|
6
|
||||||
|
|
||||||
Длина списка:
|
Длина списка:
|
||||||
|
|
||||||
>>>len([1, 2, 3])
|
>>> len([1, 2, 3])
|
||||||
3
|
3
|
||||||
|
|
||||||
Выбор максимального и минимального значения:
|
Выбор максимального и минимального значения:
|
||||||
|
|
||||||
>>>max(5, 15)
|
>>> max(5, 15)
|
||||||
15
|
15
|
||||||
>>>min (15, 12)
|
>>> min (15, 12)
|
||||||
12
|
12
|
||||||
|
|
||||||
Возведение в степень:
|
Возведение в степень:
|
||||||
|
|
||||||
>>>pow (5, 2)
|
>>> pow (5, 2)
|
||||||
25
|
25
|
||||||
|
|
||||||
Округление до целого:
|
Округление до целого:
|
||||||
|
|
||||||
>>>round (3,1514)
|
>>> round (3,1514)
|
||||||
3
|
3
|
||||||
|
|
||||||
Сортировка по возрастанию (можно применить reverse = True для сортировки по убыванию):
|
Сортировка по возрастанию (можно применить reverse = True для сортировки по убыванию):
|
||||||
@@ -112,7 +112,7 @@
|
|||||||
|
|
||||||
Суммирование:
|
Суммирование:
|
||||||
|
|
||||||
>>>sum ([7, 3, 5])
|
>>> sum ([7, 3, 5])
|
||||||
15
|
15
|
||||||
|
|
||||||
Объединение объектов в кортеж (возвращается указатель на участок памяти):
|
Объединение объектов в кортеж (возвращается указатель на участок памяти):
|
||||||
@@ -205,11 +205,11 @@
|
|||||||
'р'
|
'р'
|
||||||
>>> ss1[-2] #А это – символ «о» (при знаке «-»(минус) отсчет от конца строки)
|
>>> ss1[-2] #А это – символ «о» (при знаке «-»(минус) отсчет от конца строки)
|
||||||
'о'
|
'о'
|
||||||
>>>ss1[6:9] #Это часть строки – символы с 6-го индекса по 8-й (9-й не включается!)
|
>>> ss1[6:9] #Это часть строки – символы с 6-го индекса по 8-й (9-й не включается!)
|
||||||
'стр'
|
'стр'
|
||||||
>>>ss1[13:] #Это часть строки – с 13-го индекса и до конца
|
>>> ss1[13:] #Это часть строки – с 13-го индекса и до конца
|
||||||
'символов'
|
'символов'
|
||||||
>>>ss1[:13] #Это часть строки – с начала и до 12-го индекса включительно
|
>>> ss1[:13] #Это часть строки – с начала и до 12-го индекса включительно
|
||||||
'Это - строка '
|
'Это - строка '
|
||||||
>>> ss1[5:-8] #Это часть строки – с 5-го индекса и до 8-го от конца
|
>>> ss1[5:-8] #Это часть строки – с 5-го индекса и до 8-го от конца
|
||||||
' строка '
|
' строка '
|
||||||
@@ -227,7 +227,7 @@
|
|||||||
|
|
||||||
Строка является неизменяемым объектом
|
Строка является неизменяемым объектом
|
||||||
|
|
||||||
>>>ss1[4]='=' # Будет диагностика!
|
>>> ss1[4]='=' # Будет диагностика!
|
||||||
TypeError: 'str' object does not support item assignment
|
TypeError: 'str' object does not support item assignment
|
||||||
|
|
||||||
Однако, можно переопределить строку
|
Однако, можно переопределить строку
|
||||||
@@ -270,42 +270,42 @@
|
|||||||
(5-9j)
|
(5-9j)
|
||||||
>>> stup[-8::2]
|
>>> stup[-8::2]
|
||||||
[0, 1, 1, 1]
|
[0, 1, 1, 1]
|
||||||
>>>spis1[1]='Список'
|
>>> spis1[1]='Список'
|
||||||
>>>spis1
|
>>> spis1
|
||||||
[111, 'Список', (5-9j)]
|
[111, 'Список', (5-9j)]
|
||||||
|
|
||||||
Текущее число элементов
|
Текущее число элементов
|
||||||
|
|
||||||
>>>len(spis1)
|
>>> len(spis1)
|
||||||
3
|
3
|
||||||
|
|
||||||
С помощью методов объектов-списков можно добавлять и удалять элементы:
|
С помощью методов объектов-списков можно добавлять и удалять элементы:
|
||||||
|
|
||||||
>>>help(spis1.append)
|
>>> help(spis1.append)
|
||||||
Help on built-in function append:
|
Help on built-in function append:
|
||||||
append(object, /) method of builtins.list instance
|
append(object, /) method of builtins.list instance
|
||||||
Append object to the end of the list.
|
Append object to the end of the list.
|
||||||
>>>spis1.append('New item') # В конец списка добавлен элемент «New item»
|
>>> spis1.append('New item') # В конец списка добавлен элемент «New item»
|
||||||
>>>spis1
|
>>> spis1
|
||||||
[111, 'Список', (5-9j), 'New item']
|
[111, 'Список', (5-9j), 'New item']
|
||||||
|
|
||||||
Или по-другому конкатенация (в этой инструкции список отображается, но не сохраняется):
|
Или по-другому конкатенация (в этой инструкции список отображается, но не сохраняется):
|
||||||
|
|
||||||
>>>spis1+['New item']
|
>>> spis1+['New item']
|
||||||
[111, 'Список', (5-9j), 'New item', 'New item']
|
[111, 'Список', (5-9j), 'New item', 'New item']
|
||||||
|
|
||||||
Добавление в конец списка spis1 строку ss1b:
|
Добавление в конец списка spis1 строку ss1b:
|
||||||
|
|
||||||
>>>spis1.append(ss1b)
|
>>> spis1.append(ss1b)
|
||||||
>>>spis1
|
>>> spis1
|
||||||
[111, 'Список', (5-9j), 'New item', 'Меня зовут: \n <сюда вставьте свою фамилию и инициалы>']
|
[111, 'Список', (5-9j), 'New item', 'Меня зовут: \n <сюда вставьте свою фамилию и инициалы>']
|
||||||
>>>spis1 += ss1b
|
>>> spis1 += ss1b
|
||||||
>>>spis1
|
>>> spis1
|
||||||
[111, 'Список', (5-9j), 'New item', 'Меня зовут: \n <сюда вставьте свою фамилию и инициалы>', 'М', 'е', 'н', 'я', ' ', 'з', 'о', 'в', 'у', 'т', ':', ' ', '\n', ' ', '<', 'с', 'ю', 'д', 'а', ' ', 'в', 'с', 'т', 'а', 'в', 'ь', 'т', 'е', ' ', 'с', 'в', 'о', 'ю', ' ', 'ф', 'а', 'м', 'и', 'л', 'и', 'ю', ' ', 'и', ' ', 'и', 'н', 'и', 'ц', 'и', 'а', 'л', 'ы', '>']
|
[111, 'Список', (5-9j), 'New item', 'Меня зовут: \n <сюда вставьте свою фамилию и инициалы>', 'М', 'е', 'н', 'я', ' ', 'з', 'о', 'в', 'у', 'т', ':', ' ', '\n', ' ', '<', 'с', 'ю', 'д', 'а', ' ', 'в', 'с', 'т', 'а', 'в', 'ь', 'т', 'е', ' ', 'с', 'в', 'о', 'ю', ' ', 'ф', 'а', 'м', 'и', 'л', 'и', 'ю', ' ', 'и', ' ', 'и', 'н', 'и', 'ц', 'и', 'а', 'л', 'ы', '>']
|
||||||
|
|
||||||
Удаление элемента из списка:
|
Удаление элемента из списка:
|
||||||
|
|
||||||
>>>spis1.pop(1) #Из списка удален элемент с индексом 1
|
>>> spis1.pop(1) #Из списка удален элемент с индексом 1
|
||||||
'Список'
|
'Список'
|
||||||
|
|
||||||
Вставка элемента в определенное место по индексу:
|
Вставка элемента в определенное место по индексу:
|
||||||
@@ -335,28 +335,28 @@
|
|||||||
|
|
||||||
Сортировка списка без создания нового объекта:
|
Сортировка списка без создания нового объекта:
|
||||||
|
|
||||||
>>>spis3=[4,-3,5,-7,10]
|
>>> spis3=[4,-3,5,-7,10]
|
||||||
>>>spis3.sort(key=abs, reverse=False)
|
>>> spis3.sort(key=abs, reverse=False)
|
||||||
>>>spis3
|
>>> spis3
|
||||||
[-3, 4, 5, -7, 10]
|
[-3, 4, 5, -7, 10]
|
||||||
>>>spis3.sort(key=abs, reverse=True)
|
>>> spis3.sort(key=abs, reverse=True)
|
||||||
>>>spis3
|
>>> spis3
|
||||||
[10, -7, 5, 4, -3]
|
[10, -7, 5, 4, -3]
|
||||||
|
|
||||||
Создание копии списка:
|
Создание копии списка:
|
||||||
|
|
||||||
>>>spis4=spis3.copy()
|
>>> spis4=spis3.copy()
|
||||||
>>>spis4
|
>>> spis4
|
||||||
[10, -7, 5, 4, -3]
|
[10, -7, 5, 4, -3]
|
||||||
|
|
||||||
Подсчет количества элементов по значению:
|
Подсчет количества элементов по значению:
|
||||||
|
|
||||||
>>>spis4.count(-7)
|
>>> spis4.count(-7)
|
||||||
1
|
1
|
||||||
|
|
||||||
Поиск индекса по значению:
|
Поиск индекса по значению:
|
||||||
|
|
||||||
>>>spis4.index(5)
|
>>> spis4.index(5)
|
||||||
2
|
2
|
||||||
|
|
||||||
|
|
||||||
@@ -420,7 +420,7 @@
|
|||||||
|
|
||||||
Операция замены элемента в кортеже:
|
Операция замены элемента в кортеже:
|
||||||
|
|
||||||
>>>kort1[2]=90 #Будет получена диагностика о невозможности изменения кортежа
|
>>> kort1[2]=90 #Будет получена диагностика о невозможности изменения кортежа
|
||||||
TypeError: 'tuple' object does not support item assignment
|
TypeError: 'tuple' object does not support item assignment
|
||||||
|
|
||||||
Создание объекта-кортежа с элементами разных типов:
|
Создание объекта-кортежа с элементами разных типов:
|
||||||
@@ -468,8 +468,8 @@
|
|||||||
|
|
||||||
Создание более сложного словаря из списка с элементами-кортежами:
|
Создание более сложного словаря из списка с элементами-кортежами:
|
||||||
|
|
||||||
>>>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)])
|
||||||
>>>dic4
|
>>> dic4
|
||||||
{1: ['A', 'B', 'C'], 2: [4, 5], 'Q': 'Prim', 'Stroka': 'Меня зовут: \n <сюда вставьте свою фамилию и инициалы>'}
|
{1: ['A', 'B', 'C'], 2: [4, 5], 'Q': 'Prim', 'Stroka': 'Меня зовут: \n <сюда вставьте свою фамилию и инициалы>'}
|
||||||
|
|
||||||
Создание словаря из двух списков (одного для ключей, другой для значений):
|
Создание словаря из двух списков (одного для ключей, другой для значений):
|
||||||
|
|||||||
@@ -26,14 +26,17 @@
|
|||||||
|
|
||||||
## Решение
|
## Решение
|
||||||
1. Создаю переменную familia:
|
1. Создаю переменную familia:
|
||||||
|
|
||||||
>>> familia='Filippov'
|
>>> familia='Filippov'
|
||||||
|
|
||||||
2. Создаю переменную, которая равна первой букве familia:
|
2. Создаю переменную, которая равна первой букве familia:
|
||||||
|
|
||||||
>>> first=familia[0]
|
>>> first=familia[0]
|
||||||
>>> first
|
>>> first
|
||||||
'F'
|
'F'
|
||||||
|
|
||||||
3. Создаю переменную с именем sp_kw, значение – списк всех ключевых слов Python:
|
3. Создаю переменную с именем sp_kw, значение – списк всех ключевых слов Python:
|
||||||
|
|
||||||
>>> import keyword
|
>>> import keyword
|
||||||
>>> sp_kw=keyword.kwlist
|
>>> sp_kw=keyword.kwlist
|
||||||
>>> sp_kw
|
>>> sp_kw
|
||||||
@@ -42,25 +45,30 @@
|
|||||||
<class 'list'>
|
<class 'list'>
|
||||||
|
|
||||||
4. Удаляю из списка sp_kw значение 'nonlocal', затем убедился, что это значение удалено из списка.
|
4. Удаляю из списка sp_kw значение 'nonlocal', затем убедился, что это значение удалено из списка.
|
||||||
|
|
||||||
>>> sp_kw.remove('nonlocal')
|
>>> sp_kw.remove('nonlocal')
|
||||||
>>> sp_kw
|
>>> sp_kw
|
||||||
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
|
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
|
||||||
|
|
||||||
5. Создаю кортеж kort_nam с моим и еще 3-х студентов из группы именами. Проверяю, что тип переменной – это tuple.
|
5. Создаю кортеж kort_nam с моим и еще 3-х студентов из группы именами. Проверяю, что тип переменной – это tuple.
|
||||||
|
|
||||||
>>> kort_nam=('Daniil', 'Dima', 'Vanya', 'Dima')
|
>>> kort_nam=('Daniil', 'Dima', 'Vanya', 'Dima')
|
||||||
>>> type(kort_nam)
|
>>> type(kort_nam)
|
||||||
<class 'tuple'>
|
<class 'tuple'>
|
||||||
|
|
||||||
6. Добавляю в kort_nam имена двух студентов.
|
6. Добавляю в kort_nam имена двух студентов.
|
||||||
|
|
||||||
>>> kort_nam=kort_nam+('Dima', 'Liza')
|
>>> kort_nam=kort_nam+('Dima', 'Liza')
|
||||||
>>> kort_nam
|
>>> kort_nam
|
||||||
('Daniil', 'Dima', 'Vanya', 'Dima', 'Dima', 'Liza')
|
('Daniil', 'Dima', 'Vanya', 'Dima', 'Dima', 'Liza')
|
||||||
|
|
||||||
7. Определяю, сколько раз в кортеже присутствуют студенты с именем «Дима».
|
7. Определяю, сколько раз в кортеже присутствуют студенты с именем «Дима».
|
||||||
|
|
||||||
>>> kort_nam.count('Dima')
|
>>> kort_nam.count('Dima')
|
||||||
3
|
3
|
||||||
|
|
||||||
8. Создаю словарь dict_bas, в котором ключами являются русские названия типов переменных, использованных в предыдущих операторах, а значениями – ранее созданные перемен-ные, соответствующие этим типам.
|
8. Создаю словарь dict_bas, в котором ключами являются русские названия типов переменных, использованных в предыдущих операторах, а значениями – ранее созданные перемен-ные, соответствующие этим типам.
|
||||||
|
|
||||||
>>> dict_bas={"строка" : familia, "символ" : first, "список" : sp_kw, "кортеж" : kort_nam}
|
>>> dict_bas={"строка" : familia, "символ" : first, "список" : sp_kw, "кортеж" : kort_nam}
|
||||||
>>> dict_bas
|
>>> dict_bas
|
||||||
{'строка': 'Filippov', 'символ': 'F', 'список': ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'], 'кортеж': ('Daniil', 'Dima', 'Vanya', 'Dima', 'Dima', 'Liza')}
|
{'строка': 'Filippov', 'символ': 'F', 'список': ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'], 'кортеж': ('Daniil', 'Dima', 'Vanya', 'Dima', 'Dima', 'Liza')}
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user