форкнуто от main/python
Сравнить коммиты
9 Коммитов
Автор | SHA1 | Дата |
---|---|---|
|
5dea245d8f | 1 день назад |
|
e8335a9ff4 | 1 день назад |
|
3940a30699 | 1 день назад |
|
074e6b66bb | 1 день назад |
|
8364da85be | 1 день назад |
|
09411da254 | 2 дней назад |
|
a0b62c5e70 | 5 дней назад |
|
97c479b43e | 1 неделю назад |
|
406e8518ef | 1 неделю назад |
@ -1,5 +1,8 @@
|
||||
# Программное обеспечение автоматизированных систем
|
||||
|
||||
* Методические указания и варианты заданий — в списке файлов выше.
|
||||
* [Журнал](https://docs.google.com/spreadsheets/d/1P9XF8Chyo3sBx5sgGW2UriUBv78sLLuHwOadQvefH9s/edit?usp=sharing)
|
||||
* [Комментарии к методическим указаниям](comments.md)
|
||||
Методические указания и варианты заданий — в списке файлов выше.
|
||||
[Комментарии к методическим указаниям](comments.md).
|
||||
|
||||
## [Журнал](https://docs.google.com/spreadsheets/d/1P9XF8Chyo3sBx5sgGW2UriUBv78sLLuHwOadQvefH9s/edit?usp=sharing)
|
||||
|
||||
## [Репозиторий для выполнения лабораторных работ](http://uit.mpei.ru/git/main/python-labs)
|
||||
|
После Ширина: | Высота: | Размер: 33 KiB |
@ -0,0 +1,426 @@
|
||||
# Отчет по теме 2
|
||||
|
||||
Добровольска Елизавета, А-02-23
|
||||
|
||||
## 1 Создание протокола в IDLE
|
||||
|
||||
Был установлен рабочий каталог и создан протокол в среде IDLE
|
||||
|
||||

|
||||
|
||||
## 2 Создание обьектов и работа с ними
|
||||
|
||||
Были созданы обьекты, просмотренно значение созданных обьектов, просмотренны существувющие обьекты, удалены обьекты
|
||||
|
||||
```py
|
||||
>>>f1=16; f2=3
|
||||
>>>f1,f2
|
||||
(16, 3)
|
||||
>>>f1;f2
|
||||
16
|
||||
3
|
||||
>>>dir()
|
||||
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'f1', 'f2', 'os']
|
||||
>>>dir(f1)
|
||||
['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__index__', '__init__', '__init_subclass__', '__int__', '__invert__', '__le__', '__lshift__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__round__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'as_integer_ratio', 'bit_count', 'bit_length', 'conjugate', 'denominator', 'from_bytes', 'imag', 'is_integer', 'numerator', 'real', 'to_bytes']
|
||||
>>>type(f2)
|
||||
<class 'int'>
|
||||
>>>del f1,f2
|
||||
>>>dir()
|
||||
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'os']
|
||||
```
|
||||
|
||||
## 3 Создание обьектов разнличных типов
|
||||
|
||||
```py
|
||||
>>>gg1=1.6 #значение в виде вещественного числа
|
||||
>>>gg1
|
||||
1.6
|
||||
>>>hh1='Строка' #значение в виде символьной строки
|
||||
>>>hh1
|
||||
'Строка'
|
||||
>>>73sr=3 #неправильное имя – начинается с цифры - будет диагностика!
|
||||
SyntaxError: invalid decimal literal
|
||||
>>>and=7 #недопустимое имя – совпадает с ключевым словом - будет диагностика!
|
||||
SyntaxError: invalid syntax
|
||||
```
|
||||
|
||||
## 4 Просмотр и сохранение в переменной ключевых слов
|
||||
|
||||
```py
|
||||
>>>import keyword
|
||||
>>>keyword.kwlist
|
||||
['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', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
|
||||
>>>kk = keyword.kwlist
|
||||
>>>kk
|
||||
['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', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
|
||||
```
|
||||
|
||||
## 5 Изучение встроенных идентификаторов
|
||||
|
||||
Был выведен список встроенных идентификаторов и изучен некоторый список функций с помощью функции help:
|
||||
abs - выдает значение по модулю;
|
||||
len - выдает длину обьекта;
|
||||
max - выдает максимальное число из списка введенных в аргумент;
|
||||
min - выдает минимальное число из списка введенных в аргумент;
|
||||
pow - при двух аргументах: возводит первый в степень второго, при наличие третьего аргумента делит получившийся результат на третий аргумент и показывает остаток;
|
||||
round - округляет число до целого (при отсутствии второго аргумента), а при наличие второго аргумента округляет по стольких цифр после запятой, сколько указано во втором аргументе;
|
||||
sorted - сортирует числа или буквы слова по возрастанию или убыванию;
|
||||
sum - суммирует числа;
|
||||
zip - создает итератор, который объединяет элементы из нескольких перебираемых объектов по соответствию.
|
||||
|
||||
```py
|
||||
>>>import builtins
|
||||
>>>dir(builtins)
|
||||
['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BaseExceptionGroup', 'BlockingIOError', 'BrokenPipeError', 'BufferError', 'BytesWarning', 'ChildProcessError', 'ConnectionAbortedError', 'ConnectionError', 'ConnectionRefusedError', 'ConnectionResetError', 'DeprecationWarning', 'EOFError', 'Ellipsis', 'EncodingWarning', 'EnvironmentError', 'Exception', 'ExceptionGroup', 'False', 'FileExistsError', 'FileNotFoundError', 'FloatingPointError', 'FutureWarning', 'GeneratorExit', 'IOError', 'ImportError', 'ImportWarning', 'IndentationError', 'IndexError', 'InterruptedError', 'IsADirectoryError', 'KeyError', 'KeyboardInterrupt', 'LookupError', 'MemoryError', 'ModuleNotFoundError', 'NameError', 'None', 'NotADirectoryError', 'NotImplemented', 'NotImplementedError', 'OSError', 'OverflowError', 'PendingDeprecationWarning', 'PermissionError', 'ProcessLookupError', 'PythonFinalizationError', 'RecursionError', 'ReferenceError', 'ResourceWarning', 'RuntimeError', 'RuntimeWarning', 'StopAsyncIteration', 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError', 'SystemExit', 'TabError', 'TimeoutError', 'True', 'TypeError', 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning', 'ValueError', 'Warning', 'WindowsError', 'ZeroDivisionError', '_', '_IncompleteInputError', '__build_class__', '__debug__', '__doc__', '__import__', '__loader__', '__name__', '__package__', '__spec__', 'abs', 'aiter', 'all', 'anext', 'any', 'ascii', 'bin', 'bool', 'breakpoint', 'bytearray', 'bytes', 'callable', 'chr', 'classmethod', 'compile', 'complex', 'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit', 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'map', 'max', 'memoryview', 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print', 'property', 'quit', 'range', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars', 'zip']
|
||||
>>>abs(-5)
|
||||
5
|
||||
>>>len("hi")
|
||||
2
|
||||
>>>max(3, 4)
|
||||
4
|
||||
>>>min(3, 4)
|
||||
3
|
||||
>>>pow(3, 2)
|
||||
9
|
||||
>>>pow(3, 2, 3)
|
||||
0
|
||||
>>>round(5.675, 2)
|
||||
5.67
|
||||
>>>sorted([3, 4, 1])
|
||||
[1, 3, 4]
|
||||
>>>sorted("cdab")
|
||||
['a', 'b', 'c', 'd']
|
||||
>>>sum([2, 3])
|
||||
5
|
||||
>>>list(zip([1, 2, 3], ["a", "b", "c"]))
|
||||
[(1, 'a'), (2, 'b'), (3, 'c')]
|
||||
```
|
||||
|
||||
## 6 Изучение различи восприятия программой маленьких и больших букв
|
||||
|
||||
Были созданы две переменные с именами, в которых отличается только размер одной буквы. Был сделан вывод, что для программы это две разные переменные.
|
||||
|
||||
```py
|
||||
>>>Gg1=45
|
||||
>>>Gg1
|
||||
45
|
||||
>>>gg1
|
||||
1.6
|
||||
```
|
||||
|
||||
## 7 Изучение базовых типов обьектов
|
||||
|
||||
Были изучены различные основные типа обьектов и произведены некоторые операции с ними.
|
||||
|
||||
## 7.1 Изучение логического типа обьекта (bool)
|
||||
|
||||
```py
|
||||
>>>bb1=True; bb2=False
|
||||
>>>bb1;bb2
|
||||
True
|
||||
False
|
||||
>>>type(bb1) #функция, показывающая тип (класс) объекта
|
||||
<class 'bool'>
|
||||
```
|
||||
|
||||
## 7.2 Изучение простых типов обьектов (int, float, complex)
|
||||
|
||||
Были созданны переменные классов int, float, complex. Было выяснено, что двоичное число сохранено в обьекте класса int, как и например шестнадцатеричное число. А вот при экспоненциальной форме записи вещественного числа оно созраняется в обьекте класса float.
|
||||
|
||||
```py
|
||||
>>>ii1=-1234567890
|
||||
>>>ff1=-8.9876e-12 #экспоненциальная форма записи вещественного числа
|
||||
>>>dv1=0b1101010 #Это – двоичное число. В объекте какого класса оно сохранено?
|
||||
>>>type(dv1)
|
||||
<class 'int'>
|
||||
>>>vsm1=0o52765 #Это – восьмеричное число
|
||||
>>>shest1=0x7109af6 #Это – шестнадцатеричное число
|
||||
>>>cc1=2-3j
|
||||
>>>a=3.67; b=-0.45
|
||||
>>>cc2=complex(a,b) #Создается комплексное число
|
||||
>>>type(cc1)
|
||||
<class 'complex'>
|
||||
>>>type(shest1)
|
||||
<class 'int'>
|
||||
>>>type(ff1)
|
||||
<class 'float'>
|
||||
```
|
||||
|
||||
## 7.3 Изучение типа обьекта - строка символов
|
||||
|
||||
Были созданы обьекты типа строка, также использованы экранированные последовательности для переноса текста на разные строки. Было произведено обращение к элементам строки. Было произведено переопределение текста обьекта.
|
||||
|
||||
```py
|
||||
>>>ss1='Это - строка символов'
|
||||
>>>ss1
|
||||
'Это - строка символов'
|
||||
>>>ss1="Это - строка символов"
|
||||
>>>ss1
|
||||
'Это - строка символов'
|
||||
>>>ss1a="Это - \" строка символов \", \n \t выводимая на двух строках"
|
||||
>>>print(ss1a)
|
||||
Это - " строка символов ",
|
||||
выводимая на двух строках
|
||||
>>>ss1b= 'Меня зовут: \n Добровольска Е.'
|
||||
>>>print(ss1b)
|
||||
Меня зовут:
|
||||
Добровольска Е.
|
||||
>>>mnogo="""Нетрудно заметить , что в результате операции
|
||||
над числами разных типов получается число,
|
||||
имеющее более сложный тип из тех, которые участвуют в операции."""
|
||||
>>>print(mnogo)
|
||||
Нетрудно заметить , что в результате операции
|
||||
над числами разных типов получается число,
|
||||
имеющее более сложный тип из тех, которые участвуют в операции.
|
||||
>>>ss1[0] #Это – символ «Э»
|
||||
'Э'
|
||||
>>>ss1[8] #А это – символ «р»
|
||||
'р'
|
||||
>>>ss1[-2] #А это – символ «о» (при знаке «-»(минус) отсчет от конца строки)
|
||||
'о'
|
||||
>>>ss1[6:9] #Это часть строки – символы с 6-го индекса по 8-й (9-й не включается!)
|
||||
'стр'
|
||||
>>>ss1[13:] #Это часть строки – с 13-го индекса и до конца
|
||||
'символов'
|
||||
>>>ss1[:13] #Это часть строки – с начала и до 12-го индекса включительно
|
||||
'Это - строка '
|
||||
>>>ss1[5:-8] #Это часть строки – с 5-го индекса и до 8-го от конца
|
||||
' строка '
|
||||
>>>ss1[3:17:2] #Часть строки – с 3-го по 16-й индексы с шагом 2
|
||||
' тоасм'
|
||||
>>>ss1[17:3:-2]
|
||||
'омсаот '
|
||||
>>>ss1[-4:3:-2]
|
||||
'омсаот '
|
||||
>>>ss1[4]='=' # Будет диагностика!
|
||||
Traceback (most recent call last):
|
||||
File "<pyshell#80>", line 1, in <module>
|
||||
ss1[4]='=' # Будет диагностика!
|
||||
TypeError: 'str' object does not support item assignment
|
||||
>>>ss1=ss1[:4]+'='+ss1[5:]
|
||||
>>>ss1
|
||||
'Это = строка символов'
|
||||
>>>ss1b[14:19]
|
||||
'Добро'
|
||||
>>>ss1b[14:19:2]
|
||||
'Дбо'
|
||||
>>>ss1b[19:14:-2]
|
||||
'вро'
|
||||
```
|
||||
|
||||
Также были самостоятельно созданы обьекты разных типов и просмотренн их класс и значение:
|
||||
|
||||
```py
|
||||
>>>gh = 3.7865
|
||||
>>>type(gh)
|
||||
<class 'float'>
|
||||
>>>jk = 3
|
||||
>>>type(jk)
|
||||
<class 'int'>
|
||||
>>>sl = "aaaa"
|
||||
>>>type(sl)
|
||||
<class 'str'>
|
||||
>>>ss = 5+2j
|
||||
>>>type(ss)
|
||||
<class 'complex'>
|
||||
>>>gh
|
||||
3.7865
|
||||
>>>jk
|
||||
3
|
||||
>>>sl
|
||||
'aaaa'
|
||||
>>>ss
|
||||
(5+2j)
|
||||
```
|
||||
|
||||
## 8 Изучение сложных типов обьектов
|
||||
|
||||
## 8.1 Изучение типа обьекта - список
|
||||
|
||||
Был создан список, произведено обращение к элементам списка, выведена длина списка, просмотрены и применены методы обьекта, а также произведено добавление элемента к списку и удаление элемента из списка.
|
||||
|
||||
```py
|
||||
>>>spis1=[111,'Spisok',5-9j]
|
||||
>>>stup=[0,0,1,1,1,1,1,1,1]
|
||||
>>>spis=[1,2,3,4,
|
||||
5,6,7,
|
||||
8,9,10]
|
||||
>>>spis1[-1]
|
||||
(5-9j)
|
||||
>>>stup[-8::2]
|
||||
[0, 1, 1, 1] #В данный список вошло 4 элемента, с 8 с конца до последнего с шагом 2. То есть с индексами 1,3,5,7
|
||||
>>>spis1[1]='Список'
|
||||
>>>spis1
|
||||
[111, 'Список', (5-9j)]
|
||||
>>>len(spis1)
|
||||
3
|
||||
>>>dir(spis1)
|
||||
['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
|
||||
>>>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+['New item']
|
||||
[111, 'Список', (5-9j), 'New item', 'New item']
|
||||
>>>spis1+[ss1b]
|
||||
>>>[111, 'Список', (5-9j), 'New item', 'Меня зовут: \n Добровольска Е.']
|
||||
>>>spis1.pop(1)
|
||||
'Список'
|
||||
>>>spis1
|
||||
[111, (5-9j), 'New item']
|
||||
```
|
||||
|
||||
Также были изучены и применены самомтоятельно некоторые методы:
|
||||
|
||||
insert - вставляет элемент с второго аргумента на позицию c первого аргумента;
|
||||
remove - удаляет первый элемент из списка, который соответствует аргументу (его значению);
|
||||
extend - добaвляет в конец списка все элемента из обьекта в аргументе;
|
||||
clear - очищает список;
|
||||
sort - сортирует элементы по порядку;
|
||||
reverse - переворачивает порядок элементов;
|
||||
copy - создает копию списка;
|
||||
count - возвращает число, сколько раз элемент из аргумента встиречается в списке;
|
||||
index - возвращает индекс первого элемента соответствующему аргументу.
|
||||
|
||||
```py
|
||||
>>>lis = [1,2,3,4,5,6,8,9]
|
||||
>>>lis
|
||||
[1, 2, 3, 4, 5, 6, 8, 9]
|
||||
>>>lis.insert(6, 7)
|
||||
>>>lis
|
||||
[1, 2, 3, 4, 5, 6, 7, 8, 9]
|
||||
>>>lis.remove(5)
|
||||
>>>lis
|
||||
[1, 2, 3, 4, 6, 7, 8, 9]
|
||||
>>>lis.extend(sus)
|
||||
>>>lis
|
||||
[1, 2, 3, 4, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9]
|
||||
>>>lis.sort()
|
||||
>>>lis
|
||||
[1, 1, 2, 2, 3, 3, 4, 4, 5, 6, 6, 7, 7, 8, 8, 9, 9]
|
||||
>>>lis.reverse()
|
||||
>>>lis
|
||||
[9, 9, 8, 8, 7, 7, 6, 6, 5, 4, 4, 3, 3, 2, 2, 1, 1]
|
||||
>>>lis.copy()
|
||||
[9, 9, 8, 8, 7, 7, 6, 6, 5, 4, 4, 3, 3, 2, 2, 1, 1]
|
||||
>>>lis.count(8)
|
||||
2
|
||||
>>>lis.index(7)
|
||||
4
|
||||
>>>lis.clear()
|
||||
>>>lis
|
||||
[]
|
||||
```
|
||||
Был создан вложенный список, а также самостоятельно был создан список из элементов разных классов: число, строка, логическое значение, список.
|
||||
|
||||
```py
|
||||
>>>spis2=[spis1,[4,5,6,7]] #здесь элементами являются два списка
|
||||
>>>spis2[0][1] #обращение к элементу списка spis1
|
||||
(5-9j)
|
||||
>>>spis2[0][1]=78 #Убедитесь, что значение элемента заменено на 78
|
||||
>>>spis2
|
||||
[[111, 78, 'New item'], [4, 5, 6, 7]]
|
||||
>>>spis1
|
||||
[111, 78, 'New item'] #spis1 изменился, поскольку присваивание списка переменной (или включение списка в другой список) создает ссылку, а не копию. Списки являются изменяемыми, поэтому изменение списка через одну ссылку влияет и на другие ссылки, указывающие на этот же список.
|
||||
>>>spisochek=[jk, ss1, bb1, lis]
|
||||
>>>spisochek
|
||||
[3, 'Это = строка символов', True, []]
|
||||
'''
|
||||
|
||||
## 8.2 Изучение типа обьекта - обьект-кортеж
|
||||
|
||||
Был создан обьект кортеж, к нему были добывлены элементы, кортеж был переопределен, были применены некоторые методы (index, count), была произведена попытка изменить кортеж, а также самостоятельно был создан кортеж с элементами разных типов: число, строка, список, кортеж.
|
||||
|
||||
```py
|
||||
>>>kort1=(222,'Kortezh',77+8j)
|
||||
>>>kort1= kort1+(1,2)
|
||||
>>>kort1
|
||||
(222, 'Kortezh', (77+8j), 1, 2)
|
||||
>>>kort1= kort1+(ss1b,)
|
||||
>>>kort1
|
||||
(222, 'Kortezh', (77+8j), 1, 2, 'Меня зовут: \n Добровольска Е.')
|
||||
>>>kort2=kort1[:2]+kort1[3:]
|
||||
>>>kort2
|
||||
(222, 'Kortezh', 1, 2, 'Меня зовут: \n Добровольска Е.')
|
||||
>>>kort1.index(2) # Будет получено значение 4
|
||||
4
|
||||
>>>kort1.count(222) #Будет получено значение 1
|
||||
1
|
||||
>>>kort1[2]=90 #Будет получена диагностика о невозможности изменения кортежа
|
||||
Traceback (most recent call last):
|
||||
File "<pyshell#159>", line 1, in <module>
|
||||
kort1[2]=90 #Будет получена диагностика о невозможности изменения кортежа
|
||||
TypeError: 'tuple' object does not support item assignment
|
||||
>>>kort3=(4, "ppp", lis, kort1)
|
||||
>>>kort3
|
||||
(4, 'ppp', [], (222, 'Kortezh', (77+8j), 1, 2, 'Меня зовут: \n Добровольска Е.'))
|
||||
```
|
||||
|
||||
## 8.3 Изучение типа обьекта - Объект-словарь
|
||||
|
||||
Был создан словарь, произведено обращение к его элементу, добавлен элемент, словарь был отсортирован по ключу и по значению, были созданы словари с помощью dict и zip. Также самостоятельно был создан словарь из списка и кортежа с помощью dict и zip.
|
||||
|
||||
```py
|
||||
>>>dic1={'Saratov':145, 'Orel':56, 'Vologda':45}
|
||||
>>>dic1['Orel']
|
||||
56
|
||||
>>>dic1['Pskov']=78
|
||||
>>>dic1
|
||||
{'Saratov': 145, 'Orel': 56, 'Vologda': 45, 'Pskov': 78}
|
||||
>>>sorted(dic1.keys())
|
||||
['Orel', 'Pskov', 'Saratov', 'Vologda']
|
||||
>>>sorted(dic1.values())
|
||||
[45, 56, 78, 145]
|
||||
>>>dic2={1:'mean',2:'standart deviation',3:'correlation'}
|
||||
>>>dic3={'statistics':dic2,'POAS':['base','elementary','programming']}
|
||||
>>>dic3['statistics'][2]
|
||||
'standart deviation'
|
||||
>>>dic4=dict([(1,['A','B','C']),(2,[4,5]),('Q','Prim'),('Stroka',ss1b)])
|
||||
>>>dic5=dict(zip(['A','B','C','Stroka'],[16,-3,9,ss1b]))
|
||||
>>>kort4=(1,2,3,4,5,6,7)
|
||||
>>>lis1=["a", "b", "c", "d", "e"]
|
||||
>>>dic4
|
||||
{1: ['A', 'B', 'C'], 2: [4, 5], 'Q': 'Prim', 'Stroka': 'Меня зовут: \n Добровольска Е.'}
|
||||
>>>dic5
|
||||
{'A': 16, 'B': -3, 'C': 9, 'Stroka': 'Меня зовут: \n Добровольска Е.'}
|
||||
>>>dic7=dict(zip(kort4, lis1))
|
||||
>>>dic7
|
||||
{1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'}
|
||||
>>>len(dic7) #Длина словаря равна 5, поскольку zip объединяет элементы из перебираемых объектов пока не закончится самый короткий из них.
|
||||
5
|
||||
>>>AVTI={'Курс I':[22,23,17,24,30,29,28,25,23,0,4,31,30,33,18,12,27],'Курс II':[18,16,12,15,29,18,21,23,13,0,4,20,31,26,16,], 'Курс III':[17,12,0,6,17,15,19,19,0,0,5,17,22,18,12], 'Курс IV':[27,16,0,13,17,15,19,20,0,0,2,15,18,16,17]}
|
||||
>>>AVTI['Курс III'][5]
|
||||
15
|
||||
```
|
||||
|
||||
## 8.4 Изучение типа обьекта - Объект-множество
|
||||
|
||||
Был создан обьект множество, посчитано количество элементов в нем, добавлен и удален элемент из множества, проверено наличие элемента в множестве. Также самостоятельно было создано множество содержащее строки, числа и кортеж и произведены некоторые действия с ним.
|
||||
|
||||
```py
|
||||
>>>mnoz1={'двигатель','датчик','линия связи','датчик','микропроцессор','двигатель'}
|
||||
>>>mnoz1
|
||||
{'микропроцессор', 'двигатель', 'датчик', 'линия связи'}
|
||||
>>>len(mnoz1)
|
||||
4
|
||||
>>>'датчик' in mnoz1
|
||||
True
|
||||
>>>mnoz1.add('реле')
|
||||
>>>mnoz1.remove('линия связи')
|
||||
>>>mnoz1
|
||||
{'микропроцессор', 'реле', 'двигатель', 'датчик'}
|
||||
>>>mno={"loo", "uu", 3, kort1}
|
||||
>>>mno
|
||||
{3, 'loo', 'uu', (222, 'Kortezh', (77+8j), 1, 2, 'Меня зовут: \n Добровольска Е.')}
|
||||
>>>mno.add(6)
|
||||
>>>mno
|
||||
{'loo', 3, 6, 'uu', (222, 'Kortezh', (77+8j), 1, 2, 'Меня зовут: \n Добровольска Е.')}
|
||||
>>>"kkk" in mno
|
||||
False
|
||||
```
|
||||
## 9 Завершение работы в IDLE
|
||||
|
||||
Был закончен сеанс работы в IDLE
|
@ -0,0 +1 @@
|
||||
# Протокол по Теме 2 Добровольска Елизавета
|
@ -0,0 +1,42 @@
|
||||
# Общее контрольное задание по теме 2
|
||||
|
||||
Добровольска Елизавета, А-02-23
|
||||
|
||||
## Задание
|
||||
|
||||
Реализовать, записать в текстовый файл и проанализировать результаты последовательности инструкций, выполняющих следующие действия:
|
||||
• Создать переменную с именем familia и со значением - символьной строкой – своей фамилией в латинской транскрипции.
|
||||
• Создать переменную со значением, совпадающим с первой буквой из familia.
|
||||
• Создать переменную с именем sp_kw со значением – списком всей ключевых слов языка Python.
|
||||
• Удалите из списка sp_kw значение 'nonlocal'. Выводом списка в командном окне IDLE убедитесь, что это значение удалено из списка.
|
||||
• Создайте кортеж kort_nam с именами: вашим и еще 3-х студентов из вашей группы. Напишите инструкцию, позволяющую убедиться, что тип переменной – это tuple.
|
||||
• Напишите инструкцию, добавляющую в kort_nam имена еще двух студентов.
|
||||
• Напишите инструкцию, позволяющую определить, сколько раз в кортеже присутствуют студенты с именем «Дима».
|
||||
• Создайте словарь dict_bas, в котором ключами являются русские названия типов переменных, использованных в предыдущих операторах, а значениями – ранее созданные переменные, соответствующие этим типам.
|
||||
|
||||
## Решение
|
||||
|
||||
```py
|
||||
>>>familia="Dobrovolska"
|
||||
>>>dd=familia[0]
|
||||
>>>dd
|
||||
'D'
|
||||
>>>import keyword
|
||||
>>>sp_kw=keyword.kwlist
|
||||
>>>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', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
|
||||
>>>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']
|
||||
>>>kort_nam=("Liza", "Vera", "Nastya", "Lena")
|
||||
>>>type(kort_nam)
|
||||
<class 'tuple'>
|
||||
|
||||
>>>kort_nam=kort_nam+("Dana", "Katya")
|
||||
>>>kort_nam
|
||||
('Liza', 'Vera', 'Nastya', 'Lena', 'Dana', 'Katya')
|
||||
>>>kort_nam.count("Dima")
|
||||
0
|
||||
>>>dict_bas={"строка":[familia, dd], "список":[sp_kw], "кортеж": [kort_nam]}
|
||||
>>>dict_bas
|
||||
{'строка': ['Dobrovolska', 'D'], 'список': [['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']], 'кортеж': [('Liza', 'Vera', 'Nastya', 'Lena', 'Dana', 'Katya')]}
|
Двоичный файл не отображается.
Двоичный файл не отображается.
Двоичный файл не отображается.
Двоичный файл не отображается.
Двоичный файл не отображается.
Двоичный файл не отображается.
Двоичный файл не отображается.
Двоичный файл не отображается.
Загрузка…
Ссылка в новой задаче