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