FilippovDY (FilippovDY) 1 месяц назад
Родитель 46e47c687a
Сommit eddc271555

@ -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. Изучение простых объектов. Операции присваивания значения объектам-переменным
Операция присваивания Операция присваивания
@ -22,7 +22,7 @@
Какие объекты существуют в данный момент в среде: Какие объекты существуют в данный момент в среде:
>>> dir() >>> dir()
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'f1', 'f2', 'os'] ['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'f1', 'f2', 'os']
Получение списка атрибутов любого объекта, например f1: Получение списка атрибутов любого объекта, например f1:
@ -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')}

Загрузка…
Отмена
Сохранить