Сравнить коммиты
	
		
			10 Коммитов 
		
	
	
	| Автор | SHA1 | Дата | 
|---|---|---|
| 
							
							
								 | 
						e74b731f64 | 2 недель назад | 
| 
							
							
								 | 
						039e74c207 | 2 недель назад | 
| 
							
							
								 | 
						13ca6d37d0 | 2 недель назад | 
| 
							
							
								 | 
						aa1136f111 | 4 недель назад | 
| 
							
							
								 | 
						26d1583e1b | 4 недель назад | 
| 
							
							
								 | 
						5533367117 | 1 месяц назад | 
| 
							
							
								 | 
						7c69ea6f76 | 1 месяц назад | 
| 
							
							
								 | 
						669cf0a11c | 1 месяц назад | 
| 
							
							
								 | 
						619fdaa6fb | 2 месяцев назад | 
| 
							
							
								 | 
						0d14f1d582 | 2 месяцев назад | 
@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					print('This line was executed from .txt file!')
 | 
				
			||||||
 | 
					print('And this is two lines programm')
 | 
				
			||||||
@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					 #Программа по Теме 1 Коваленко Дмитрий Максимович
 | 
				
			||||||
 | 
					print('Hello')
 | 
				
			||||||
 | 
					h=input('Your name=')
 | 
				
			||||||
@ -0,0 +1,98 @@
 | 
				
			|||||||
 | 
					# Отчет по теме 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Коваленко Дмитрий, А-01-23
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 1 Изучение среды IDLE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 1.1 Работа с интерпретатором Python
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Открыл интерпретатор python в терминале
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					vatarishin@MacBook-Air python-labs % python3 
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Попробовал пару простых комманд
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> print('Hello')
 | 
				
			||||||
 | 
					Hello
 | 
				
			||||||
 | 
					>>> h=input('Your name=')
 | 
				
			||||||
 | 
					Your name=Dmitriy
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					Завершил раборту с интерпретатором в терминале 
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> exit()
 | 
				
			||||||
 | 
					vatarishin@MacBook-Air python-labs % 
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					### 1.2 Работа с python в IDE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Создал файл [Pr0.py](Pr0.py) и непенес в него команды из предыдущего пункта.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Запустил файл на выполнение посредством GUI IDE VS CODE
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					vatarishin@MacBook-Air python-labs % /usr/bin/python3 /Users/vatarishin/lab_sem_5/python-labs/TEMA1/Pr0.py
 | 
				
			||||||
 | 
					Hello
 | 
				
			||||||
 | 
					Your name=Dmitriy
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Попробовал альтернативный варинат запуска программы
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					vatarishin@MacBook-Air TEMA1 % python3 Pr0.py
 | 
				
			||||||
 | 
					Hello
 | 
				
			||||||
 | 
					Your name=Shin
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Запустил на выполнение файл [prb1.py](prb1.py)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					vatarishin@MacBook-Air python-labs % /usr/bin/python3 /Users/vatarishin/lab_sem_5/python-labs/TEMA1/prb1.py
 | 
				
			||||||
 | 
					Как Вас зовут? Дмитрий
 | 
				
			||||||
 | 
					Привет, Дмитрий
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					### 1.3 Изучение справки
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					help(print)
 | 
				
			||||||
 | 
					Help on built-in function print in module builtins:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					print(...)
 | 
				
			||||||
 | 
					    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    Prints the values to a stream, or to sys.stdout by default.
 | 
				
			||||||
 | 
					    Optional keyword arguments:
 | 
				
			||||||
 | 
					    file:  a file-like object (stream); defaults to the current sys.stdout.
 | 
				
			||||||
 | 
					    sep:   string inserted between values, default a space.
 | 
				
			||||||
 | 
					    end:   string appended after the last value, default a newline.
 | 
				
			||||||
 | 
					    flush: whether to forcibly flush the stream.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Help on built-in function input in module builtins:
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					Попробовал вызвать две команды справки на одной строке
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					help(print); help(input)
 | 
				
			||||||
 | 
					Help on built-in function print in module builtins:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					print(...)
 | 
				
			||||||
 | 
					    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    Prints the values to a stream, or to sys.stdout by default.
 | 
				
			||||||
 | 
					    Optional keyword arguments:
 | 
				
			||||||
 | 
					    file:  a file-like object (stream); defaults to the current sys.stdout.
 | 
				
			||||||
 | 
					    sep:   string inserted between values, default a space.
 | 
				
			||||||
 | 
					    end:   string appended after the last value, default a newline.
 | 
				
			||||||
 | 
					    flush: whether to forcibly flush the stream.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Help on built-in function input in module builtins:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					input(prompt=None, /)
 | 
				
			||||||
 | 
					    Read a string from standard input.  The trailing newline is stripped.
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    The prompt string, if given, is printed to standard output without a
 | 
				
			||||||
 | 
					    trailing newline before reading input.
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError.
 | 
				
			||||||
 | 
					    On *nix systems, readline is used if available.
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 1.4 Изучение примеров
 | 
				
			||||||
 | 
					Запустил файл [tdemo_chaos.py](tdemo_chaos.py)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Открылось окно GUI, где в случайном порядке рисуются точки, соедененные линиями
 | 
				
			||||||
@ -0,0 +1,22 @@
 | 
				
			|||||||
 | 
					# Индивидуальное контрольное задание по теме 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Коваленко Дмитрий, А-01-23
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Вопрос 8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Как можно запустить на выполнение программу, исходный код которой находится в тексто-вом файле  ABC.txt?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Ответ
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Запустить код написанный в .txt файле можно при помощи функции ```exec()```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Пример файла [ABC.txt](ABC.txt)
 | 
				
			||||||
 | 
					Способ запуска кода из txt файла приведен в [test.py](test.py)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Результат выполнения
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					vatarishin@MacBook-Air python-labs % /Library/Developer/CommandLineTools/usr/bin/python3 /Users/vatarishin/lab_sem_5/python-labs/
 | 
				
			||||||
 | 
					TEMA1/test.py
 | 
				
			||||||
 | 
					This line was executed from .txt file!
 | 
				
			||||||
 | 
					And this is two lines programm
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					with open('/Users/vatarishin/lab_sem_5/python-labs/TEMA1/ABC.txt', 'r') as textScript:
 | 
				
			||||||
 | 
					    exec(textScript.read())
 | 
				
			||||||
@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					gg1=1.6  #значение в виде вещественного числа
 | 
				
			||||||
 | 
					hh1='Строка'  #значение в виде символьной строки
 | 
				
			||||||
 | 
					73sr=3   #неправильное имя – начинается с цифры - будет диагностика!
 | 
				
			||||||
 | 
					and=7     #недопустимое имя – совпадает с ключевым словом - будет диагностика!
 | 
				
			||||||
@ -0,0 +1,255 @@
 | 
				
			|||||||
 | 
					# Отчет по теме 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Коваленко Дмитрий, А-01-23
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2 Базовые типы объектов
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					###  2.1 Изучение простых объектов
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					>>> f1=16; f2=3
 | 
				
			||||||
 | 
					>>> f1,f2
 | 
				
			||||||
 | 
					(16, 3)
 | 
				
			||||||
 | 
					>>> f1;f2
 | 
				
			||||||
 | 
					16
 | 
				
			||||||
 | 
					3
 | 
				
			||||||
 | 
					>>> dir()
 | 
				
			||||||
 | 
					['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'f1', 'f2']
 | 
				
			||||||
 | 
					>>> dir(f1)
 | 
				
			||||||
 | 
					['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__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_length', 'conjugate', 'denominator', 'from_bytes', 'imag', 'numerator', 'real', 'to_bytes']
 | 
				
			||||||
 | 
					TypeError: type() takes 1 or 3 arguments
 | 
				
			||||||
 | 
					>>> type(f2)
 | 
				
			||||||
 | 
					<class 'int'>
 | 
				
			||||||
 | 
					>>> del f1,f2
 | 
				
			||||||
 | 
					>>> dir()
 | 
				
			||||||
 | 
					['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					Видим, что переменные имеют тип `int`. При помощи `dir(var)` можно узнать методы объекта, а при вызове `dir()` можно посмотреть, какие переменные есть в памяти. Как можно видеть из последнего запуска `dir()`, переменные `f1`, `f2` были удалены из памяти программы.
 | 
				
			||||||
 | 
					### 2.2 Изучение правил именования
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Создал программу [prog1.py](prog1.py) и записал в неё несколько комманд для проверки правил именования. Ожидаемо, получил ошибку на неправильном имени файла
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					vatarishin@MacBook-Air python-labs % /Library/Developer/CommandLineTools/usr/bin/python3 /Users/vatarishin/lab_sem_5/python-labs/
 | 
				
			||||||
 | 
					TEMA2/prog1.py
 | 
				
			||||||
 | 
					  File "/Users/vatarishin/lab_sem_5/python-labs/TEMA2/prog1.py", line 3
 | 
				
			||||||
 | 
					    73sr=3   #неправильное имя – начинается с цифры - будет диагностика!
 | 
				
			||||||
 | 
					      ^
 | 
				
			||||||
 | 
					SyntaxError: invalid syntax
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					### 2.3 Изучение списка ключевых слов
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> import keyword
 | 
				
			||||||
 | 
					>>> kw = keyword.kwlist
 | 
				
			||||||
 | 
					>>> print(kw)
 | 
				
			||||||
 | 
					['False', 'None', 'True', '__peg_parser__', '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']
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 2.4 Выведение списка встроенных идентификаторов
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> import builtins
 | 
				
			||||||
 | 
					>>> dir(builtins)
 | 
				
			||||||
 | 
					['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BlockingIOError', 'BrokenPipeError', 'BufferError', 'BytesWarning', 'ChildProcessError', 'ConnectionAbortedError', 'ConnectionError', 'ConnectionRefusedError', 'ConnectionResetError', 'DeprecationWarning', 'EOFError', 'Ellipsis', 'EnvironmentError', 'Exception', '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', 'RecursionError', 'ReferenceError', 'ResourceWarning', 'RuntimeError', 'RuntimeWarning', 'StopAsyncIteration', 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError', 'SystemExit', 'TabError', 'TimeoutError', 'True', 'TypeError', 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning', 'ValueError', 'Warning', 'ZeroDivisionError', '__build_class__', '__debug__', '__doc__', '__import__', '__loader__', '__name__', '__package__', '__spec__', 'abs', 'all', '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']
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					Изучим функцию `zip()`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					Help on class zip in module builtins:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class zip(object)
 | 
				
			||||||
 | 
					 |  zip(*iterables) --> A zip object yielding tuples until an input is exhausted.
 | 
				
			||||||
 | 
					 |  
 | 
				
			||||||
 | 
					 |     >>> list(zip('abcdefg', range(3), range(4)))
 | 
				
			||||||
 | 
					 |     [('a', 0, 0), ('b', 1, 1), ('c', 2, 2)]
 | 
				
			||||||
 | 
					 |  
 | 
				
			||||||
 | 
					 |  The zip object yields n-length tuples, where n is the number of iterables
 | 
				
			||||||
 | 
					 |  passed as positional arguments to zip().  The i-th element in every tuple
 | 
				
			||||||
 | 
					 |  comes from the i-th iterable argument to zip().  This continues until the
 | 
				
			||||||
 | 
					 |  shortest argument is exhausted.
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					### 2.5 Рассмотрим значимость регистров
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> Gg1=45
 | 
				
			||||||
 | 
					>>> gg1
 | 
				
			||||||
 | 
					Traceback (most recent call last):
 | 
				
			||||||
 | 
					  File "<stdin>", line 1, in <module>
 | 
				
			||||||
 | 
					NameError: name 'gg1' is not defined
 | 
				
			||||||
 | 
					>>> Gg1
 | 
				
			||||||
 | 
					45
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 2.6 Изучим простые типы объектов
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Логический тип
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> bb1=True; bb2=False
 | 
				
			||||||
 | 
					>>> bb1;bb2
 | 
				
			||||||
 | 
					True
 | 
				
			||||||
 | 
					False
 | 
				
			||||||
 | 
					>>> type(bb1)
 | 
				
			||||||
 | 
					<class 'bool'>
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Прочие типы
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> ii1=-1234567890
 | 
				
			||||||
 | 
					>>> ff1=-8.9876e-12  #экспоненциальная форма записи вещественного числа
 | 
				
			||||||
 | 
					>>> dv1=0b1101010 #Это – двоичное число. В объекте какого класса оно сохранено?
 | 
				
			||||||
 | 
					>>> vsm1=0o52765   #Это – восьмеричное число
 | 
				
			||||||
 | 
					>>> shest1=0x7109af6  #Это – шестнадцатеричное число
 | 
				
			||||||
 | 
					>>> cc1=2-3j
 | 
				
			||||||
 | 
					>>> a=3.67; b=-0.45
 | 
				
			||||||
 | 
					>>> cc2=complex(a,b)  #Создается комплексное число 
 | 
				
			||||||
 | 
					>>> cc2
 | 
				
			||||||
 | 
					(3.67-0.45j)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					Символьные строки
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>> ss1='Это - строка символов'
 | 
				
			||||||
 | 
					>>> ss1="Это - строка символов"  
 | 
				
			||||||
 | 
					>>> ss1a="Это - \" строка символов \", \n \t выводимая на двух строках";print(ss1a)
 | 
				
			||||||
 | 
					Это - " строка символов ", 
 | 
				
			||||||
 | 
					         выводимая на двух строках
 | 
				
			||||||
 | 
					>>> ss1b= 'Меня зовут: \n Коваленко Д.М.'
 | 
				
			||||||
 | 
					>>> print(ss1b)
 | 
				
			||||||
 | 
					Меня зовут: 
 | 
				
			||||||
 | 
					 Коваленко Д.М.
 | 
				
			||||||
 | 
					>>> mnogo="""Нетрудно заметить , что в результате операции
 | 
				
			||||||
 | 
					... над числами разных типов получается число,
 | 
				
			||||||
 | 
					... имеющее более сложный тип из тех, которые участвуют в операции."""
 | 
				
			||||||
 | 
					>>> print(mnogo)
 | 
				
			||||||
 | 
					Нетрудно заметить , что в результате операции
 | 
				
			||||||
 | 
					над числами разных типов получается число,
 | 
				
			||||||
 | 
					имеющее более сложный тип из тех, которые участвуют в операции.
 | 
				
			||||||
 | 
					>>> ss1="Это - строка символов"
 | 
				
			||||||
 | 
					>>> 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]='='  
 | 
				
			||||||
 | 
					Traceback (most recent call last):
 | 
				
			||||||
 | 
					  File "<stdin>", line 1, in <module>
 | 
				
			||||||
 | 
					TypeError: 'str' object does not support item assignment
 | 
				
			||||||
 | 
					>>> ss1=ss1[:4]+'='+ss1[5:]
 | 
				
			||||||
 | 
					>>> ss1
 | 
				
			||||||
 | 
					'Это = строка символов'
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 2.7 Изучим более сложные типы объектов
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> spis1=[111,'Spisok',5-9j]
 | 
				
			||||||
 | 
					>>> 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]
 | 
				
			||||||
 | 
					>>> stup[-8::2]
 | 
				
			||||||
 | 
					[0, 1, 1, 1]
 | 
				
			||||||
 | 
					>>> spis1[1]='Список'
 | 
				
			||||||
 | 
					>>> spis1
 | 
				
			||||||
 | 
					[111, 'Список', (5-9j)]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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') 
 | 
				
			||||||
 | 
					>>> spis1+['New item']
 | 
				
			||||||
 | 
					[111, 'Список', (5-9j), 'New item', 'New item']
 | 
				
			||||||
 | 
					>>> spis1.pop(1) 
 | 
				
			||||||
 | 
					'Список'
 | 
				
			||||||
 | 
					>>> spis2=[spis1,[4,5,6,7]]
 | 
				
			||||||
 | 
					>>> spis2
 | 
				
			||||||
 | 
					[[111, (5-9j), 'New item'], [4, 5, 6, 7]]
 | 
				
			||||||
 | 
					>>> spis2[0][1]  
 | 
				
			||||||
 | 
					(5-9j)
 | 
				
			||||||
 | 
					>>> spis2[0][1]=78  
 | 
				
			||||||
 | 
					>>> spis1
 | 
				
			||||||
 | 
					[111, 78, 'New item']
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					Видим, что при изменении вложенного списка, изменяется и сам исходный список. Это происходит потому что при создании `spis2` была использована ссылка на `spis1`. Чтобы списки были независимы, в `spis2` надо передовать копию списка. 
 | 
				
			||||||
 | 
					Создадим свой объект-список
 | 
				
			||||||
 | 
					```myList1 = [1, '1', True, [1, '1', True]]```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 2.8 Изучим кортежи
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> kort1=(222,'Kortezh',77+8j)
 | 
				
			||||||
 | 
					>>> kort1
 | 
				
			||||||
 | 
					(222, 'Kortezh', (77+8j))
 | 
				
			||||||
 | 
					>>> kort1= kort1+(1,2)
 | 
				
			||||||
 | 
					>>> kort1
 | 
				
			||||||
 | 
					(222, 'Kortezh', (77+8j), 1, 2)
 | 
				
			||||||
 | 
					>>> kort1= kort1+(ss1b,)
 | 
				
			||||||
 | 
					>>> kort2=kort1[:2]+kort1[3:]
 | 
				
			||||||
 | 
					>>> kort2
 | 
				
			||||||
 | 
					(222, 'Kortezh', 1, 2, 'Меня зовут: \n Коваленко Д.М.')
 | 
				
			||||||
 | 
					>>> kort1.index(2)  
 | 
				
			||||||
 | 
					4
 | 
				
			||||||
 | 
					>>> kort1.count(222)
 | 
				
			||||||
 | 
					1
 | 
				
			||||||
 | 
					>>> kort1[2]=90
 | 
				
			||||||
 | 
					Traceback (most recent call last):
 | 
				
			||||||
 | 
					  File "<stdin>", line 1, in <module>
 | 
				
			||||||
 | 
					TypeError: 'tuple' object does not support item assignment
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					kort0 = (0, '0', [False, False], (0, '0', False))
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 2.9 Изучим словари
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>> 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]))
 | 
				
			||||||
 | 
					>>> 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
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 2.10 Изучим множества
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> mnoz1={'двигатель','датчик','линия связи','датчик','микропроцессор','двигатель'}
 | 
				
			||||||
 | 
					>>> mnoz1
 | 
				
			||||||
 | 
					{'двигатель', 'датчик', 'линия связи', 'микропроцессор'}
 | 
				
			||||||
 | 
					>>> len(mnoz1)
 | 
				
			||||||
 | 
					4
 | 
				
			||||||
 | 
					>>> 'датчик' in mnoz1
 | 
				
			||||||
 | 
					True
 | 
				
			||||||
 | 
					>>> mnoz1.add('реле')
 | 
				
			||||||
 | 
					>>> mnoz1.remove('линия связи')
 | 
				
			||||||
 | 
					>>> mnoz1
 | 
				
			||||||
 | 
					{'микропроцессор', 'реле', 'двигатель', 'датчик'}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					>>> set1 = {1, 1, '1', "1", True, True, (1, '1')}
 | 
				
			||||||
 | 
					>>> set1
 | 
				
			||||||
 | 
					{1, '1', (1, '1')}
 | 
				
			||||||
 | 
					>>> len(set1)
 | 
				
			||||||
 | 
					3
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -0,0 +1,41 @@
 | 
				
			|||||||
 | 
					# Общее контрольное задание по теме 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Коваленко Дмитрий, А-01-23
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Задание
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					•	Создать переменную с именем `familia` и со значением - символьной строкой – своей фамилией в латинской транскрипции.
 | 
				
			||||||
 | 
					•	Создать переменную со значением, совпадающим с первой буквой из `familia`.
 | 
				
			||||||
 | 
					•	Создать переменную с именем `sp_kw` со значением – списком всей ключевых слов языка Python.
 | 
				
			||||||
 | 
					•	Удалите из списка `sp_kw` значение `'nonlocal'`. Выводом списка в командном окне IDLE убедитесь, что это значение удалено из списка.
 | 
				
			||||||
 | 
					•	Создайте кортеж `kort_nam` с именами: вашим и еще 3-х студентов из вашей группы. Напишите инструкцию, позволяющую убедиться, что тип переменной – это `tuple`.
 | 
				
			||||||
 | 
					•	Напишите инструкцию, добавляющую в `kort_nam` имена еще двух студентов. 
 | 
				
			||||||
 | 
					•	Напишите инструкцию, позволяющую определить, сколько раз в кортеже присутствуют студенты с именем «Дима».
 | 
				
			||||||
 | 
					•	Создайте словарь `dict_bas`, в котором ключами являются русские названия типов переменных, использованных в предыдущих операторах, а значениями – ранее созданные переменные, соответствующие этим типам.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Решение
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					import keyword
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					familia = 'Kovalenko'
 | 
				
			||||||
 | 
					withLetK = familia[0]
 | 
				
			||||||
 | 
					sp_kw = keyword.kwlist
 | 
				
			||||||
 | 
					sp_kw.remove('nonlocal')
 | 
				
			||||||
 | 
					sp_kw
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					kort_nam = ('Дмитрий', 'Максим', 'Даниил', 'Дима')
 | 
				
			||||||
 | 
					type(kort_nam)
 | 
				
			||||||
 | 
					kort_nam = kort_nam+('Александр', 'Елизавета')
 | 
				
			||||||
 | 
					kort_nam.count('Дима')
 | 
				
			||||||
 | 
					dict_bas = {'строка': familia, 'Список': sp_kw, 'Кортеж': kort_nam}
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					['False', 'None', 'True', '__peg_parser__', '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']
 | 
				
			||||||
 | 
					>>> type(kort_nam)
 | 
				
			||||||
 | 
					<class 'tuple'>
 | 
				
			||||||
 | 
					>>> kort_nam.count('Дима')
 | 
				
			||||||
 | 
					1
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
@ -0,0 +1,32 @@
 | 
				
			|||||||
 | 
					# Индивидуальное контрольное задание по теме 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Коваленко Дмитрий, А-01-23
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Задание 9
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Создайте два объекта
 | 
				
			||||||
 | 
					 `u=[1,2,3,4,5]`
 | 
				
			||||||
 | 
					 `v=[11,22,33,44,55]`
 | 
				
			||||||
 | 
					К какому классу относятся эти объекты? Напишите инструкцию создания нового объекта-множества `z` с элементами из `u` и `v`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Решение
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					u = [1,2,3,4,5]
 | 
				
			||||||
 | 
					v = [11,22,33,44,55]
 | 
				
			||||||
 | 
					type(u)
 | 
				
			||||||
 | 
					type(v)
 | 
				
			||||||
 | 
					z = {*u, *v}
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Вывод:
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					>>> type(u)
 | 
				
			||||||
 | 
					<class 'list'>
 | 
				
			||||||
 | 
					>>> type(v)
 | 
				
			||||||
 | 
					<class 'list'>
 | 
				
			||||||
 | 
					>>> z = {*u, *v}
 | 
				
			||||||
 | 
					>>> z
 | 
				
			||||||
 | 
					{1, 2, 3, 4, 5, 33, 11, 44, 22, 55}
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
@ -0,0 +1,452 @@
 | 
				
			|||||||
 | 
					# Отчет по теме 3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Коваленко Дмитрий, А-01-23
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 3 Операции с объектами 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 3.1 Преобразование в логический тип с помощью функции bool(<Объект>).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> logiz1=bool(56)
 | 
				
			||||||
 | 
					>>> logiz2=bool(0)
 | 
				
			||||||
 | 
					>>> logiz3=bool("Beta")
 | 
				
			||||||
 | 
					>>> logiz4=bool("")
 | 
				
			||||||
 | 
					>>> logiz1
 | 
				
			||||||
 | 
					True
 | 
				
			||||||
 | 
					>>> logiz2
 | 
				
			||||||
 | 
					False
 | 
				
			||||||
 | 
					>>> logiz3
 | 
				
			||||||
 | 
					True
 | 
				
			||||||
 | 
					>>> logiz4
 | 
				
			||||||
 | 
					False
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 3.2 Преобразование в целочисленный тип int и вещественный float
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> tt1=int(198.6)
 | 
				
			||||||
 | 
					>>> tt2=int("-76") 
 | 
				
			||||||
 | 
					>>> tt3=int("B",16)
 | 
				
			||||||
 | 
					>>> tt4=int("71",8)
 | 
				
			||||||
 | 
					>>> tt5=int("98.76")  
 | 
				
			||||||
 | 
					Traceback (most recent call last):
 | 
				
			||||||
 | 
					  File "<stdin>", line 1, in <module>
 | 
				
			||||||
 | 
					ValueError: invalid literal for int() with base 10: '98.76'
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					В последней иструкции видим ошибку. Это происходит из-за того, что `int()` не может перевести строку в целочисленный тип, если указана дробная часть. 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> flt1=float(789)
 | 
				
			||||||
 | 
					flt2=float(-6.78e2)
 | 
				
			||||||
 | 
					flt3=float("Infinity")
 | 
				
			||||||
 | 
					flt4=float("-inf")>>> flt2=float(-6.78e2)
 | 
				
			||||||
 | 
					>>> flt3=float("Infinity")
 | 
				
			||||||
 | 
					>>> flt4=float("-inf")
 | 
				
			||||||
 | 
					>>> flt1
 | 
				
			||||||
 | 
					789.0
 | 
				
			||||||
 | 
					>>> flt2
 | 
				
			||||||
 | 
					-678.0
 | 
				
			||||||
 | 
					>>> flt3
 | 
				
			||||||
 | 
					inf
 | 
				
			||||||
 | 
					>>> flt4
 | 
				
			||||||
 | 
					-inf
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 3.3 Преобразование десятичных чисел в другие системы счисления
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> hh=123
 | 
				
			||||||
 | 
					>>> dv1=bin(hh)
 | 
				
			||||||
 | 
					>>> vos1=oct(hh)
 | 
				
			||||||
 | 
					>>> shs1=hex(hh)
 | 
				
			||||||
 | 
					>>> dv1
 | 
				
			||||||
 | 
					'0b1111011'
 | 
				
			||||||
 | 
					>>> vos1
 | 
				
			||||||
 | 
					'0o173'
 | 
				
			||||||
 | 
					>>> shs1
 | 
				
			||||||
 | 
					'0x7b'
 | 
				
			||||||
 | 
					>>> nDv1 = int(dv1, 2)
 | 
				
			||||||
 | 
					>>> nDv1
 | 
				
			||||||
 | 
					123
 | 
				
			||||||
 | 
					>>> nVos1 = int(vos1, 8)
 | 
				
			||||||
 | 
					>>> nVos1
 | 
				
			||||||
 | 
					123
 | 
				
			||||||
 | 
					>>> nShs1 = int(shs1, 16)
 | 
				
			||||||
 | 
					>>> nShs1
 | 
				
			||||||
 | 
					123
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					### 3.4 Преобразование в строку символов с помощью функции str(<Объект>)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> strk1=str(23.6)
 | 
				
			||||||
 | 
					>>> strk2=str(logiz3)
 | 
				
			||||||
 | 
					>>> strk3=str(["A","B","C"])
 | 
				
			||||||
 | 
					>>> strk4=str(("A","B","C")) 
 | 
				
			||||||
 | 
					>>> strk5=str({"A":1,"B":2,"C":9})
 | 
				
			||||||
 | 
					>>> strk3
 | 
				
			||||||
 | 
					"['A', 'B', 'C']"
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					### 3.5 Преобразование элементов объекта в список с помощью функции list(<Объект>)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> spis1=list("Строка символов")
 | 
				
			||||||
 | 
					>>> spis2=list((124,236,-15,908))
 | 
				
			||||||
 | 
					>>> spis3=list({"A":1,"B":2,"C":9})
 | 
				
			||||||
 | 
					>>> spis3
 | 
				
			||||||
 | 
					['A', 'B', 'C']
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 3.6	Преобразование элементов объектов в кортеж с помощью функции tuple(<Объект>).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> kort7=tuple('Строка символов')
 | 
				
			||||||
 | 
					>>> kort8=tuple(spis2)
 | 
				
			||||||
 | 
					>>> kort9=tuple({"A":1,"B":2,"C":9})
 | 
				
			||||||
 | 
					>>> kort9
 | 
				
			||||||
 | 
					('A', 'B', 'C')
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 3.7 Удаление объектов
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> del strk5, kort8
 | 
				
			||||||
 | 
					>>> strk5
 | 
				
			||||||
 | 
					Traceback (most recent call last):
 | 
				
			||||||
 | 
					  File "<stdin>", line 1, in <module>
 | 
				
			||||||
 | 
					NameError: name 'strk5' is not defined
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 3.8	Арифметические операции
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Сложение и вычитание (+ и -)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> 12+7+90
 | 
				
			||||||
 | 
					109
 | 
				
			||||||
 | 
					>>> 5.689e-1 - 0.456
 | 
				
			||||||
 | 
					0.11289999999999994
 | 
				
			||||||
 | 
					>>> 23.6+54
 | 
				
			||||||
 | 
					77.6
 | 
				
			||||||
 | 
					>>> 14-56.7+89
 | 
				
			||||||
 | 
					46.3
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Умножение (*)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> -6.7*12
 | 
				
			||||||
 | 
					-80.4
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Деление (/)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> -234.5/6
 | 
				
			||||||
 | 
					-39.083333333333336
 | 
				
			||||||
 | 
					>>> a=178/45  
 | 
				
			||||||
 | 
					>>> a
 | 
				
			||||||
 | 
					3.9555555555555557
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Деление с округлением вниз (//)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> b=178//45
 | 
				
			||||||
 | 
					>>> c=-24.6//12.1
 | 
				
			||||||
 | 
					>>> b
 | 
				
			||||||
 | 
					3
 | 
				
			||||||
 | 
					>>> c
 | 
				
			||||||
 | 
					-3.0
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Получение остатка от деления (%)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> 148%33
 | 
				
			||||||
 | 
					16
 | 
				
			||||||
 | 
					>>> 12.6%3.8 
 | 
				
			||||||
 | 
					1.2000000000000002
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Возведение в степень (**). 
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> 14**3
 | 
				
			||||||
 | 
					2744
 | 
				
			||||||
 | 
					>>> e=2.7**3.6
 | 
				
			||||||
 | 
					>>> e
 | 
				
			||||||
 | 
					35.719843790663525
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 3.9 Операции с двоичными представлениями целых чисел
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Двоичная инверсия
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> dv1=9
 | 
				
			||||||
 | 
					>>> dv2=~dv1
 | 
				
			||||||
 | 
					>>> dv2
 | 
				
			||||||
 | 
					-10
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Двоичное «И» (&) – побитовое совпадение двоичных представлений чисел
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> 7&9    
 | 
				
			||||||
 | 
					1
 | 
				
			||||||
 | 
					>>> 7&8
 | 
				
			||||||
 | 
					0
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Двоичное «ИЛИ» (|)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> 7|9
 | 
				
			||||||
 | 
					15
 | 
				
			||||||
 | 
					>>> 7|8
 | 
				
			||||||
 | 
					15
 | 
				
			||||||
 | 
					>>> 14|5   
 | 
				
			||||||
 | 
					15
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Двоичное «исключающее ИЛИ»(^)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> 14^5
 | 
				
			||||||
 | 
					11
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Сдвиг двоичного представления на заданное число разрядов влево (<<) или вправо (>>)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> h=14
 | 
				
			||||||
 | 
					>>> g=h<<2
 | 
				
			||||||
 | 
					>>> g1=h>>1
 | 
				
			||||||
 | 
					>>> g2=h>>2
 | 
				
			||||||
 | 
					>>> g
 | 
				
			||||||
 | 
					56
 | 
				
			||||||
 | 
					>>> g1
 | 
				
			||||||
 | 
					7
 | 
				
			||||||
 | 
					>>> g2
 | 
				
			||||||
 | 
					3
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 3.10 Операции при работе с последовательностями (строками, списками, кортежами).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Объединение последовательностей (конкатенация)(+)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> 'Система '+'регулирования' 
 | 
				
			||||||
 | 
					'Система регулирования'
 | 
				
			||||||
 | 
					>>> ['abc','de','fg']+['hi','jkl']
 | 
				
			||||||
 | 
					['abc', 'de', 'fg', 'hi', 'jkl']
 | 
				
			||||||
 | 
					>>> ('abc','de','fg')+('hi','jkl')
 | 
				
			||||||
 | 
					('abc', 'de', 'fg', 'hi', 'jkl')
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Повторение (*)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> 'ля-'*5
 | 
				
			||||||
 | 
					'ля-ля-ля-ля-ля-'
 | 
				
			||||||
 | 
					>>> ['ку','-']*3
 | 
				
			||||||
 | 
					['ку', '-', 'ку', '-', 'ку', '-']
 | 
				
			||||||
 | 
					>>> ('кис','-')*4
 | 
				
			||||||
 | 
					('кис', '-', 'кис', '-', 'кис', '-', 'кис', '-')
 | 
				
			||||||
 | 
					>>> signal1=[0]*3+[1]*99
 | 
				
			||||||
 | 
					>>> signal1
 | 
				
			||||||
 | 
					[0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
 | 
				
			||||||
 | 
					>>> signal2=(0,)*3+(1,)*5+(0,)*7
 | 
				
			||||||
 | 
					>>> signal2
 | 
				
			||||||
 | 
					(0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Проверка наличия заданного элемента в последовательности (in)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> stroka='Система автоматического управления'
 | 
				
			||||||
 | 
					>>> 'автомат' in stroka
 | 
				
			||||||
 | 
					True
 | 
				
			||||||
 | 
					>>> 'ку' in ['ку','-']*3
 | 
				
			||||||
 | 
					True
 | 
				
			||||||
 | 
					>>> 'ля-' in ('abc', 'de', 'fg', 'hi', 'jkl')
 | 
				
			||||||
 | 
					False
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Подстановка значений в строку с помощью оператора «%»
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> stroka='Температура = %g %s  %g'
 | 
				
			||||||
 | 
					>>> stroka % (16,' меньше ',25)
 | 
				
			||||||
 | 
					'Температура = 16  меньше   25'
 | 
				
			||||||
 | 
					>>> stroka='Температура = %(zn1)g %(sravn)s  %(zn2)g'
 | 
				
			||||||
 | 
					>>> stroka % {'zn1':16,'sravn':' меньше ','zn2':25}
 | 
				
			||||||
 | 
					'Температура = 16  меньше   25'
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 3.11	Оператор присваивания
 | 
				
			||||||
 | 
					Обычное присваивание значения переменной (=)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					zz=-12
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Увеличение значения переменной на заданную величину  (+=) или уменьшение (-=)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> zz +=5
 | 
				
			||||||
 | 
					>>> zz
 | 
				
			||||||
 | 
					-7
 | 
				
			||||||
 | 
					>>> zz -=3
 | 
				
			||||||
 | 
					>>> zz
 | 
				
			||||||
 | 
					-10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					>>> stroka='Система'
 | 
				
			||||||
 | 
					>>> stroka+=' регулирования'
 | 
				
			||||||
 | 
					>>> stroka
 | 
				
			||||||
 | 
					'Система регулирования'
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Умножение текущего значения переменной на заданную величину (*=) или деление (/=)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> zz /= 2
 | 
				
			||||||
 | 
					>>> zz
 | 
				
			||||||
 | 
					-5.0
 | 
				
			||||||
 | 
					>>> zz *= 5
 | 
				
			||||||
 | 
					>>> zz
 | 
				
			||||||
 | 
					-25.0
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Изучим оперции `//=`, `%=`, `**=`
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> zz //= 2
 | 
				
			||||||
 | 
					>>> zz
 | 
				
			||||||
 | 
					-13.0
 | 
				
			||||||
 | 
					>>> zz %= 2
 | 
				
			||||||
 | 
					>>> zz
 | 
				
			||||||
 | 
					1.0
 | 
				
			||||||
 | 
					>>> zz **= 3
 | 
				
			||||||
 | 
					>>> zz
 | 
				
			||||||
 | 
					1.0
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Множественное присваивание
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> w=v=10
 | 
				
			||||||
 | 
					>>> n1,n2,n3=(11,-3,'all')
 | 
				
			||||||
 | 
					>>> n2
 | 
				
			||||||
 | 
					-3
 | 
				
			||||||
 | 
					>>> m1 = m2 = {1: '1', 2: '2'}
 | 
				
			||||||
 | 
					>>> m1
 | 
				
			||||||
 | 
					{1: '1', 2: '2'}
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 3.12 Логические операции 
 | 
				
			||||||
 | 
					Операции сравнение
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> w != v
 | 
				
			||||||
 | 
					False
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Проверка наличия заданного элемента в последовательности или во множестве
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> mnoz1={'pen','book','pen','iPhone','table','book'}
 | 
				
			||||||
 | 
					>>> 'book' in mnoz1
 | 
				
			||||||
 | 
					True
 | 
				
			||||||
 | 
					>>> 'cap' in mnoz1
 | 
				
			||||||
 | 
					False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					>>> dic1={'Saratov':145, 'Orel':56, 'Vologda':45}
 | 
				
			||||||
 | 
					>>> 'Vologda' in dic1
 | 
				
			||||||
 | 
					True
 | 
				
			||||||
 | 
					>>> 'Pskov' in dic1
 | 
				
			||||||
 | 
					False
 | 
				
			||||||
 | 
					>>> 56 in dic1.values()
 | 
				
			||||||
 | 
					True
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					>>> dct1={'Institut':['AVTI','IEE','IBB'],'Depart':['UII','PM','VMSS','MM'],'gruppa': ['A-01-15','A-02-15']}
 | 
				
			||||||
 | 
					>>> 'UII' in dct1['Depart']
 | 
				
			||||||
 | 
					True
 | 
				
			||||||
 | 
					>>> dct1['Depart'][1] == 'MM'
 | 
				
			||||||
 | 
					False
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Создание больших логических выражений с использованием соединительных слов: логическое «И» (and), логическое «ИЛИ» (or), логическое «НЕ» (not). 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> a=17
 | 
				
			||||||
 | 
					>>> b=-6
 | 
				
			||||||
 | 
					>>> (a>=b) and ('book' in mnoz1) and not ('Pskov' in dic1)
 | 
				
			||||||
 | 
					True
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Проверка ссылок переменных на один и тот же объект (is)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> w=v=10
 | 
				
			||||||
 | 
					w is v
 | 
				
			||||||
 | 
					w1=['A','B'] 
 | 
				
			||||||
 | 
					v1=['A','B']  
 | 
				
			||||||
 | 
					w1 is v1>>> w is v
 | 
				
			||||||
 | 
					True
 | 
				
			||||||
 | 
					>>> w1=['A','B'] 
 | 
				
			||||||
 | 
					>>> v1=['A','B']  
 | 
				
			||||||
 | 
					>>> w1 is v1
 | 
				
			||||||
 | 
					False
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					результат последней проверки выдал Flase потому что мы создали два фактически разных списка, так как они находятся в разных ячейках памяти
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 3.13 Операции с объектами, выполняемые с помощью методов.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Методы для работы со строками
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> stroka='Микропроцессорная система управления'
 | 
				
			||||||
 | 
					>>> stroka.find('пр')
 | 
				
			||||||
 | 
					5
 | 
				
			||||||
 | 
					>>> stroka.count("с")
 | 
				
			||||||
 | 
					4
 | 
				
			||||||
 | 
					>>> stroka.replace(' у',' автоматического у')
 | 
				
			||||||
 | 
					'Микропроцессорная система автоматического управления'
 | 
				
			||||||
 | 
					>>> spis22=stroka.split(' ')
 | 
				
			||||||
 | 
					>>> stroka.upper()
 | 
				
			||||||
 | 
					'МИКРОПРОЦЕССОРНАЯ СИСТЕМА УПРАВЛЕНИЯ'
 | 
				
			||||||
 | 
					>>> stroka3=" ".join(spis22)
 | 
				
			||||||
 | 
					>>> stroka3.partition("с")
 | 
				
			||||||
 | 
					('Микропроце', 'с', 'сорная система управления')
 | 
				
			||||||
 | 
					>>> stroka3.rpartition("с")
 | 
				
			||||||
 | 
					('Микропроцессорная си', 'с', 'тема управления')
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Изучим `format`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					strk1='Момент времени {}, значение = {}'
 | 
				
			||||||
 | 
					>>> strk1.format(1,89.7)
 | 
				
			||||||
 | 
					'Момент времени 1, значение = 89.7'
 | 
				
			||||||
 | 
					strk2='Момент времени {1}, значение = {0}:{2}'
 | 
				
			||||||
 | 
					strk2.format(36.7,2,'норма!')
 | 
				
			||||||
 | 
					'Момент времени 2, значение = 36.7:норма!'
 | 
				
			||||||
 | 
					>>> strk3='Момент времени {num}, значение = {znch}'
 | 
				
			||||||
 | 
					>>> strk3.format(znch=89.7,num=2)
 | 
				
			||||||
 | 
					'Момент времени 2, значение = 89.7'
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Методы для работы со списками
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>>> spsk = [1, 2, 3, 4, 5, 6]
 | 
				
			||||||
 | 
					>>> spsk.pop(2)
 | 
				
			||||||
 | 
					3
 | 
				
			||||||
 | 
					>>> spsk.append('c')
 | 
				
			||||||
 | 
					>>> spsk.insert(2,'a')
 | 
				
			||||||
 | 
					>>> spsk.count('a')
 | 
				
			||||||
 | 
					1
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 3.14 Изучим методы кортежей, множеств, словарей
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					tup = (1, 2, 3, 4)
 | 
				
			||||||
 | 
					>>> tup=tup+(5,7)
 | 
				
			||||||
 | 
					>>> tup
 | 
				
			||||||
 | 
					(1, 2, 3, 4, 5, 7)
 | 
				
			||||||
 | 
					>>> tup.count(2)
 | 
				
			||||||
 | 
					>>> len(tup)
 | 
				
			||||||
 | 
					6
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set1 = {1, 1, '1', True}
 | 
				
			||||||
 | 
					>>> set1
 | 
				
			||||||
 | 
					{1, '1'}
 | 
				
			||||||
 | 
					>>> set1.pop()
 | 
				
			||||||
 | 
					1
 | 
				
			||||||
 | 
					>>> dir(set1)
 | 
				
			||||||
 | 
					['__and__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__iand__', '__init__', '__init_subclass__', '__ior__', '__isub__', '__iter__', '__ixor__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__xor__', 'add', 'clear', 'copy', 'difference', 'difference_update', 'discard', 'intersection', 'intersection_update', 'isdisjoint', 'issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update']
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					>>> map1 = {1: '1', 2: '2'}
 | 
				
			||||||
 | 
					>>> map1.keys()
 | 
				
			||||||
 | 
					dict_keys([1, 2])
 | 
				
			||||||
 | 
					>>> dir(map1)
 | 
				
			||||||
 | 
					['__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__ior__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__ror__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
@ -0,0 +1,55 @@
 | 
				
			|||||||
 | 
					# Общее контрольное задание по теме 3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Коваленко Дмитрий, А-01-23
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Задание
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					•	Преобразовать восьмеричное значение 45 в целое число.\
 | 
				
			||||||
 | 
					•	Создать объект-словарь `D` со значениями {"усиление":23, "запаздывание":12, "постоянная времени":78} и затем осуществить его преобразование в два списка: ключей и значений, а затем – эти два списка преобразовать в один кортеж. Чем отличается кортеж от списка?\
 | 
				
			||||||
 | 
					•	Напишите и выполните единое выражение, осуществляющее деление числа 1768 на 24.8 с округлением вниз, с определением после этого остатка от деления получившегося значения на 3 и затем возведения результата в степень 2.4.\
 | 
				
			||||||
 | 
					•	Напишите и выполните единое выражение, последовательно осуществляющее следующие операции: двоичное И для чисел 13 и 27, инверсия полученного значения, двоичное исключающее ИЛИ для полученного значения и числа 14, сдвиг полученного значения на два разряда влево.\
 | 
				
			||||||
 | 
					•	Создать список с 4 одинаковыми элементами 'колебат' и написать оператор проверки наличия комбинации символов 'аткол' в результате конкатенации второго и третьего элементов этого списка.\
 | 
				
			||||||
 | 
					•	Определить список методов, доступных у ранее созданного словаря `D`. Поочередно использовать его методы `keys` и `values`, определить, что можно получить с применением этих методов.\
 | 
				
			||||||
 | 
					•	Создать объект - символьную строку с текстом данного предложения. Из символьной строки создать список, элементами которого будут отдельные слова из созданной строки.  Заменить в списке элемент «-» на «,».  Удалить из списка элемент со значением «данного». Отобразить получившийся список.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Решение
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					int('45', 8)
 | 
				
			||||||
 | 
					37
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					D = {"усиление":23, "запаздывание":12, "постоянная времени":78}
 | 
				
			||||||
 | 
					dKeys = list(D.keys())
 | 
				
			||||||
 | 
					dVals = list(D.values())
 | 
				
			||||||
 | 
					dTup = (*dKeys, *dVals)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					((1788 // 24.8) % 3) ** 2.4
 | 
				
			||||||
 | 
					0.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					((~(13 & 27)) ^ 14) << 2
 | 
				
			||||||
 | 
					-32
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					listt = ['колебат'] * 4
 | 
				
			||||||
 | 
					'аткол' in (listt[1] + listt[2])
 | 
				
			||||||
 | 
					True
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					dir(D)
 | 
				
			||||||
 | 
					['__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__ior__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__ror__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					D.keys()
 | 
				
			||||||
 | 
					dict_keys(['усиление', 'запаздывание', 'постоянная времени'])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					D.values()
 | 
				
			||||||
 | 
					dict_values([23, 12, 78])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					longS = 'Создать объект - символьную строку с текстом данного предложения. Из символьной строки создать список, элементами которого будут отдельные слова из созданной строки.  Заменить в списке элемент «-» на «,».  Удалить из списка элемент со значением «данного». Отобразить получившийся список.'
 | 
				
			||||||
 | 
					longS = longS.split(' ')
 | 
				
			||||||
 | 
					longS[longS.index('-')] = ','
 | 
				
			||||||
 | 
					longS.remove('данного')
 | 
				
			||||||
 | 
					longS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					['Создать', 'объект', ',', 'символьную', 'строку', 'с', 'текстом', 'предложения.', 'Из', 'символьной', 'строки', 'создать', 'список,', 'элементами', 'которого', 'будут', 'отдельные', 'слова', 'из', 'созданной', 'строки.', '', 'Заменить', 'в', 'списке', 'элемент', '«-»', 'на', '«,».', '', 'Удалить', 'из', 'списка', 'элемент', 'со', 'значением', '«данного».', 'Отобразить', 'получившийся', 'список.']
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -0,0 +1,48 @@
 | 
				
			|||||||
 | 
					# Тест 1 вариант 5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Коваленко Дмитрий, А-01-23
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Задание
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1)	Для чего предназначено предложение "Окно (Window)" главного меню?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2)	Создайте объект-словарь с 8 элементами: ключи - фамилии студентов группы, значения - средние баллы по итогам сессии. Напишите инструкцию,  доказывающую, что создан объект именно требуемого типа. Напишите инструкцию отображения списка атрибутов созданного объекта.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					3)	Пополните словарь еще двумя элементами. Отобразите получившийся объект. Напишите инструкцию, позволяющую для указанного студента из словаря получить значение его среднего балла. Напишите инструкцию для получения списка всех студентов, представленных в словаре.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					4)	У одного из студентов средний балл оказался на 0.2 меньше указанного в словаре. Напишите инструкцию, исправляющую это значение в словаре. Отобразите полученный объект. Напишите инструкцию, вычисляющую общий средний балл для всех студентов, представленных в словаре.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					5)	Создайте список из названий 4-х учебных дисциплин и список с числом часов в неделю на изучение каждой из 4-х дисциплин. Напишите инструкцию, позволяющую создать словарь, объединяющий эти два списка.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Решение
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1) Предложение "Окно (Window)" в IDLE предназначено для переключения между открытыми вкладками (окнами)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2) 
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					marks = {'Иванов' : 4.3, 'Сидоров': 5, 'Смитт': 4, 'Гордеев': 4.5, 'Лыкова': 3.9, 'Кравченко': 4.1, 'Смирнов': 3, 'Ходюк': 4.8}
 | 
				
			||||||
 | 
					print(type(marks))
 | 
				
			||||||
 | 
					print(dir(marks))
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					3) 
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					marks['Ивачев'] = 4.3
 | 
				
			||||||
 | 
					marks['Мамакин'] = 3.8
 | 
				
			||||||
 | 
					print(marks)
 | 
				
			||||||
 | 
					print(f'Средний балл студента Смитта: {marks["Смитт"]}')
 | 
				
			||||||
 | 
					print(*marks.keys())
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					4) 
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					marks['Лыкова'] -= 0.2
 | 
				
			||||||
 | 
					print(marks)
 | 
				
			||||||
 | 
					print(f'Общий средний балл свех студентов в словаре: {sum(marks.values()) / len(marks)}')
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					5) 
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					subjects = ['Интеллектуальный анализ данных', 'Спортивные секции', 'Элементы систем управления', 'ПОАС']
 | 
				
			||||||
 | 
					hours = [2, 4, 3, 2]
 | 
				
			||||||
 | 
					subHour = dict(zip(subjects, hours))
 | 
				
			||||||
 | 
					print(subHour)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
@ -0,0 +1,17 @@
 | 
				
			|||||||
 | 
					### Предложение "Окно (Window)" в IDLE предназначено для переключения между открытыми вкладками (окнами)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					marks = {'Иванов' : 4.3, 'Сидоров': 5, 'Смитт': 4, 'Гордеев': 4.5, 'Лыкова': 3.9, 'Кравченко': 4.1, 'Смирнов': 3, 'Ходюк': 4.8}
 | 
				
			||||||
 | 
					print(type(marks))
 | 
				
			||||||
 | 
					print(dir(marks))
 | 
				
			||||||
 | 
					marks['Ивачев'] = 4.3
 | 
				
			||||||
 | 
					marks['Мамакин'] = 3.8
 | 
				
			||||||
 | 
					print(marks)
 | 
				
			||||||
 | 
					print(f'Средний балл студента Смитта: {marks["Смитт"]}')
 | 
				
			||||||
 | 
					print(*marks.keys())
 | 
				
			||||||
 | 
					marks['Лыкова'] -= 0.2
 | 
				
			||||||
 | 
					print(marks)
 | 
				
			||||||
 | 
					print(f'Общий средний балл свех студентов в словаре: {sum(marks.values()) / len(marks)}')
 | 
				
			||||||
 | 
					subjects = ['Интеллектуальный анализ данных', 'Спортивные секции', 'Элементы систем управления', 'ПОАС']
 | 
				
			||||||
 | 
					hours = [64, 64, 60, 48]
 | 
				
			||||||
 | 
					subHour = dict(zip(subjects, hours))
 | 
				
			||||||
 | 
					print(subHour)
 | 
				
			||||||
| 
		 После Ширина: | Высота: | Размер: 20 KiB  | 
| 
		 После Ширина: | Высота: | Размер: 15 KiB  | 
@ -0,0 +1,206 @@
 | 
				
			|||||||
 | 
					# Отчет по теме 4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Коваленко Дмитрий, А-01-23
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 4 Встроенные функции
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 4.1 Изучим стандартные функции
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					функция `round`
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					>>> round(123.456,1)
 | 
				
			||||||
 | 
					123.5
 | 
				
			||||||
 | 
					>>> round(123.456,0)
 | 
				
			||||||
 | 
					123.0
 | 
				
			||||||
 | 
					>>> round(123.456)
 | 
				
			||||||
 | 
					123
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					функция `range`
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					>>> gg=range(76,123,9)
 | 
				
			||||||
 | 
					>>> list(gg)
 | 
				
			||||||
 | 
					[76, 85, 94, 103, 112, 121]
 | 
				
			||||||
 | 
					>>> range(23)
 | 
				
			||||||
 | 
					range(0, 23)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					Получили последовательность от 0 до 22 с шагом 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					функция `zip`
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					>>> qq = ['Kovalenko', 'Ivanov', 'Mahnov', 'Hodyuk']
 | 
				
			||||||
 | 
					>>> ff=zip(gg,qq)
 | 
				
			||||||
 | 
					>>> tuple(ff)
 | 
				
			||||||
 | 
					((76, 'Kovalenko'), (85, 'Ivanov'), (94, 'Mahnov'), (103, 'Hodyuk'))
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					функция `eval`
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					>>> fff=float(input('коэффициент усиления=')); dan=eval('5*fff-156')
 | 
				
			||||||
 | 
					коэффициент усиления=2
 | 
				
			||||||
 | 
					>>> dan
 | 
				
			||||||
 | 
					-146.0
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					функция `exec`
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					>>> exec(input('введите инструкции:'))
 | 
				
			||||||
 | 
					введите инструкции:perem=-123.456;gg=round(abs(perem)+98,3)
 | 
				
			||||||
 | 
					>>> gg
 | 
				
			||||||
 | 
					221.456
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					самостоятельно изучим функции `divmod` и `map`
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					a = map(lambda val: len(val), qq)
 | 
				
			||||||
 | 
					>>> print(list(a))
 | 
				
			||||||
 | 
					[9, 6, 6, 6]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					>>> divmod(10, 3)
 | 
				
			||||||
 | 
					(3, 1)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 4.2 Изучим функции модуля math
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					 >> import math
 | 
				
			||||||
 | 
					>>> dir(math)
 | 
				
			||||||
 | 
					['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'lcm', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'nextafter', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc', 'ulp']
 | 
				
			||||||
 | 
					>>> help(math.factorial)
 | 
				
			||||||
 | 
					factorial(x, /)
 | 
				
			||||||
 | 
					    Find x!.
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    Raise a ValueError if x is negative or non-integral.
 | 
				
			||||||
 | 
					>>> math.factorial(5)  
 | 
				
			||||||
 | 
					120
 | 
				
			||||||
 | 
					>>> math.sin(2 * math.pi / (7 + math.exp(0.23)))
 | 
				
			||||||
 | 
					0.6895048136223224
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 4.3 Изучим функции модуля cmath
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					import cmath
 | 
				
			||||||
 | 
					>>> dir(cmath)
 | 
				
			||||||
 | 
					['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atanh', 'cos', 'cosh', 'e', 'exp', 'inf', 'infj', 'isclose', 'isfinite', 'isinf', 'isnan', 'log', 'log10', 'nan', 'nanj', 'phase', 'pi', 'polar', 'rect', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau']
 | 
				
			||||||
 | 
					>>> cmath.sqrt(1.2-0.5j)
 | 
				
			||||||
 | 
					(1.118033988749895-0.22360679774997896j)
 | 
				
			||||||
 | 
					>>> cmath.phase(1-0.5j)
 | 
				
			||||||
 | 
					-0.4636476090008061
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					### 4.4 Изучим функции модуля random
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					>>> import random
 | 
				
			||||||
 | 
					 dir(random)
 | 
				
			||||||
 | 
					['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', '_Sequence', '_Set', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_accumulate', '_acos', '_bisect', '_ceil', '_cos', '_e', '_exp', '_floor', '_inst', '_log', '_os', '_pi', '_random', '_repeat', '_sha512', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', '_warn', 'betavariate', 'choice', 'choices', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'lognormvariate', 'normalvariate', 'paretovariate', 'randbytes', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate']
 | 
				
			||||||
 | 
					help(random.seed)
 | 
				
			||||||
 | 
					seed(a=None, version=2) method of random.Random instance
 | 
				
			||||||
 | 
					    Initialize internal state from a seed.
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    The only supported seed types are None, int, float,
 | 
				
			||||||
 | 
					    str, bytes, and bytearray.
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    None or no argument seeds from current time or from an operating
 | 
				
			||||||
 | 
					    system specific randomness source if available.
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    If *a* is an int, all bits are used.
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    For version 2 (the default), all of the bits are used if *a* is a str,
 | 
				
			||||||
 | 
					    bytes, or bytearray.  For version 1 (provided for reproducing random
 | 
				
			||||||
 | 
					    sequences from older versions of Python), the algorithm for str and
 | 
				
			||||||
 | 
					    bytes generates a narrower range of seeds.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					>>> random.seed()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					random.seed()
 | 
				
			||||||
 | 
					>>> randoms = [random.gauss(0, 1), random.random(), random.betavariate(1, 2), random.gammavariate(2, 3)]
 | 
				
			||||||
 | 
					randoms
 | 
				
			||||||
 | 
					[0.6215069973322431, 0.08807819378198645, 0.5664749235248212, 4.506587762379303]
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 4.5 Изучим функции модуля time
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					>>> import time
 | 
				
			||||||
 | 
					>>> dir(time)
 | 
				
			||||||
 | 
					['CLOCK_MONOTONIC', 'CLOCK_MONOTONIC_RAW', 'CLOCK_PROCESS_CPUTIME_ID', 'CLOCK_REALTIME', 'CLOCK_THREAD_CPUTIME_ID', 'CLOCK_UPTIME_RAW', '_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'altzone', 'asctime', 'clock_getres', 'clock_gettime', 'clock_gettime_ns', 'clock_settime', 'clock_settime_ns', 'ctime', 'daylight', 'get_clock_info', 'gmtime', 'localtime', 'mktime', 'monotonic', 'monotonic_ns', 'perf_counter', 'perf_counter_ns', 'process_time', 'process_time_ns', 'sleep', 'strftime', 'strptime', 'struct_time', 'thread_time', 'thread_time_ns', 'time', 'time_ns', 'timezone', 'tzname', 'tzset']
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					>>> c1=time.time()
 | 
				
			||||||
 | 
					>>> c1
 | 
				
			||||||
 | 
					1760084296.501437
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					>>> c2=time.time()-c1
 | 
				
			||||||
 | 
					>>> c2
 | 
				
			||||||
 | 
					19.090100049972534
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					>>> dat=time.gmtime()
 | 
				
			||||||
 | 
					>>> dat
 | 
				
			||||||
 | 
					time.struct_time(tm_year=2025, tm_mon=10, tm_mday=10, tm_hour=8, tm_min=19, tm_sec=3, tm_wday=4, tm_yday=283, tm_isdst=0)
 | 
				
			||||||
 | 
					>>> dat.tm_mon
 | 
				
			||||||
 | 
					10
 | 
				
			||||||
 | 
					>>> dat.tm_min
 | 
				
			||||||
 | 
					19
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					>>> time.localtime()
 | 
				
			||||||
 | 
					time.struct_time(tm_year=2025, tm_mon=10, tm_mday=10, tm_hour=11, tm_min=22, tm_sec=32, tm_wday=4, tm_yday=283, tm_isdst=0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					>>> time.localtime(c1)
 | 
				
			||||||
 | 
					time.struct_time(tm_year=2025, tm_mon=10, tm_mday=10, tm_hour=11, tm_min=18, tm_sec=16, tm_wday=4, tm_yday=283, tm_isdst=0)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 4.6 Изучим графические функции
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					>>> import pylab
 | 
				
			||||||
 | 
					>>> x=list(range(-3,55,4))
 | 
				
			||||||
 | 
					>>> t=list(range(15))
 | 
				
			||||||
 | 
					pylab.plot(t,x)
 | 
				
			||||||
 | 
					pylab.title('Первый график')
 | 
				
			||||||
 | 
					pylab.xlabel('время')
 | 
				
			||||||
 | 
					pylab.ylabel('сигнал')
 | 
				
			||||||
 | 
					pylab.show()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					Полученный график сохранил как [Ris1.png](Ris1.png)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					>>> X1=[12,6,8,10,7] 
 | 
				
			||||||
 | 
					>>> X2=[5,7,9,11,13]
 | 
				
			||||||
 | 
					pylab.plot(X1)
 | 
				
			||||||
 | 
					pylab.plot(X2)
 | 
				
			||||||
 | 
					pylab.show()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					region=['Центр','Урал','Сибирь','Юг']
 | 
				
			||||||
 | 
					naselen=[65,12,23,17]
 | 
				
			||||||
 | 
					pylab.pie(naselen,labels=region)
 | 
				
			||||||
 | 
					pylab.show()  
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					Полученный график сохранил как [Ris2.png](Ris2.png)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					X1=[12,6,8,10,7, 7, 7, 6, 12, 12, 12] 
 | 
				
			||||||
 | 
					pylab.hist(X1)
 | 
				
			||||||
 | 
					pylab.show()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					region=['Центр','Урал','Сибирь','Юг']
 | 
				
			||||||
 | 
					naselen=[65,12,23,17]
 | 
				
			||||||
 | 
					pylab.bar(region, naselen)
 | 
				
			||||||
 | 
					pylab.show()
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 4.7 Изучим функции модуля statistics
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					import statistics
 | 
				
			||||||
 | 
					>>> dir(statistics)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					>>> a = [1, 2, 3, 4, 5]
 | 
				
			||||||
 | 
					>>> statistics.mean(a)
 | 
				
			||||||
 | 
					3
 | 
				
			||||||
 | 
					>>> statistics.sqrt(9)
 | 
				
			||||||
 | 
					3.0
 | 
				
			||||||
 | 
					>>> statistics.exp(3)
 | 
				
			||||||
 | 
					20.085536923187668
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -0,0 +1,36 @@
 | 
				
			|||||||
 | 
					# Общее контрольное задание по теме 4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Коваленко Дмитрий, А-01-23
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Задание
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					•	Напишите и исполните единое выражение, реализующее последовательное выполнение следующих операций: вычисление фазы комплексного числа `0.2+0.8j`, округление результата до двух знаков после запятой, умножение полученного значения на 20, получение кортежа из двух значений: округленное вниз значение от деления результата на 3 и остатка от этого деления.\
 | 
				
			||||||
 | 
					•	Создайте объект класса struct_time с временными параметрами для текущего московского времени. Создайте строку с текущим часом и минутами.\
 | 
				
			||||||
 | 
					•	Создайте список с элементами – названиями дней недели. Сделайте случайную выборку из этого списка с тремя днями недели. \
 | 
				
			||||||
 | 
					•	Напишите инструкцию случайного выбора числа из последовательности целых чисел от 14 до 32 с шагом 3.\
 | 
				
			||||||
 | 
					•	Сгенерируйте нормально распределенное число N с математическим ожиданием 15 и стандартным отклонением 4 и округлите его до целого значения. Создайте список с N элементами – случайно выбранными буквами латинского алфавита.\
 | 
				
			||||||
 | 
					•	Напишите инструкцию для определения временного интервала в минутах, прошедшего с момента предыдущего (из п.2) определения временных параметров.\
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Решение
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					from cmath import *
 | 
				
			||||||
 | 
					from time import localtime, mktime
 | 
				
			||||||
 | 
					from random import sample, choice, gauss
 | 
				
			||||||
 | 
					from string import ascii_letters
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					tuple(divmod(round(phase(0.2+0.8j), 2) * 20, 3))
 | 
				
			||||||
 | 
					now = localtime()
 | 
				
			||||||
 | 
					nowStr = f'{now.tm_hour}:{now.tm_min}'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					days = ['Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Вс']
 | 
				
			||||||
 | 
					rDays = sample(days, 3)
 | 
				
			||||||
 | 
					rNum = choice(range(14, 32, 3))
 | 
				
			||||||
 | 
					nNum = round(gauss(15, 4))
 | 
				
			||||||
 | 
					rLets = sample(list(ascii_letters), nNum)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					updNow = localtime()
 | 
				
			||||||
 | 
					diff = (mktime(updNow) - mktime(now)) // 60
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					# Индивидуальное контрольное задание по теме 4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Коваленко Дмитрий, А-01-23
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Задание 4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Напишите инструкцию определения текущего Московского времени. С задержкой на 5 секунд выведите его на экран по шаблону: «В Москве <> часов и <> минут».
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Решение
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					from time import localtime, sleep
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					print('Смотрю время и вывожу на экран через 5 секунд')
 | 
				
			||||||
 | 
					time = localtime()
 | 
				
			||||||
 | 
					sleep(5)
 | 
				
			||||||
 | 
					print(f'В Москве {time.tm_hour} часов и {time.tm_min} минут')
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					from time import localtime, sleep
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					print('Смотрю время и вывожу на экран через 5 секунд')
 | 
				
			||||||
 | 
					time = localtime()
 | 
				
			||||||
 | 
					sleep(5)
 | 
				
			||||||
 | 
					print(f'В Москве {time.tm_hour} часов и {time.tm_min} минут')
 | 
				
			||||||
@ -0,0 +1,138 @@
 | 
				
			|||||||
 | 
					# Отчет по теме 5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Коваленко Дмитрий, А-01-23
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 5 Блоки инструкций, управляющие инструкции
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 5.1 Изучим ветвления if
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					porog = 12
 | 
				
			||||||
 | 
					rashod1 = 5
 | 
				
			||||||
 | 
					rashod2 = 7
 | 
				
			||||||
 | 
					dohod = 0
 | 
				
			||||||
 | 
					if rashod1 >= porog:
 | 
				
			||||||
 | 
					    dohod = 12
 | 
				
			||||||
 | 
					elif rashod2 == porog:
 | 
				
			||||||
 | 
					    dohod = 0
 | 
				
			||||||
 | 
					else:
 | 
				
			||||||
 | 
					    dohod =- 8
 | 
				
			||||||
 | 
					>>> dohod
 | 
				
			||||||
 | 
					-8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if rashod1 >= 3 and rashod2 == 4:
 | 
				
			||||||
 | 
					    dohod = rashod1
 | 
				
			||||||
 | 
					    if rashod2 == porog or rashod1 < rashod2:
 | 
				
			||||||
 | 
					        dohod = porog
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if porog == 3:
 | 
				
			||||||
 | 
					    dohod = 1
 | 
				
			||||||
 | 
					elif porog == 4:
 | 
				
			||||||
 | 
					    dohod = 2
 | 
				
			||||||
 | 
					elif porog == 5:
 | 
				
			||||||
 | 
					    dohod = 3
 | 
				
			||||||
 | 
					else:
 | 
				
			||||||
 | 
					    dohod = 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					>>> dohod=2 if porog>=4 else 0
 | 
				
			||||||
 | 
					>>> if porog>=5 : rashod1=6; rashod2=0
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 5.2 Изучим цикл for
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					temperatura = 5
 | 
				
			||||||
 | 
					for i in range(3, 18, 3):
 | 
				
			||||||
 | 
					    temperatura += i
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sps = [2, 15, 14, 8]
 | 
				
			||||||
 | 
					for k in sps:
 | 
				
			||||||
 | 
					    if len(sps) <= 10: sps.append(sps[0])
 | 
				
			||||||
 | 
					    else:
 | 
				
			||||||
 | 
					        break
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					>>> sps
 | 
				
			||||||
 | 
					[2, 15, 14, 8, 2, 2, 2, 2, 2, 2, 2]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sps = [2, 15, 14, 8]
 | 
				
			||||||
 | 
					for k in sps[:]:
 | 
				
			||||||
 | 
					    if len(sps) <= 10: sps.append(sps[0])
 | 
				
			||||||
 | 
					    else: break
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					>>> sps
 | 
				
			||||||
 | 
					[2, 15, 14, 8, 2, 2, 2, 2]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import random as rn
 | 
				
			||||||
 | 
					sps5=[]
 | 
				
			||||||
 | 
					for i in range(10):
 | 
				
			||||||
 | 
					    sps5.append(rn.randint(1,100))
 | 
				
			||||||
 | 
					    ss=sum(sps5)
 | 
				
			||||||
 | 
					    if ss>500: break
 | 
				
			||||||
 | 
					else:
 | 
				
			||||||
 | 
					    print(ss)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					301
 | 
				
			||||||
 | 
					...
 | 
				
			||||||
 | 
					...
 | 
				
			||||||
 | 
					436
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					Как можно видеть, программа не всегда выводит значения на экран. Это происходит из-за оперратора `break`, который завершает цикл, если сумма ss первысила 500. В этом случае `else` не выполняется. 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					stroka='Это – автоматизированная система'
 | 
				
			||||||
 | 
					stroka1=""
 | 
				
			||||||
 | 
					for ss in stroka:
 | 
				
			||||||
 | 
					    stroka1+=" "+ss
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import math, pylab
 | 
				
			||||||
 | 
					sps2=[math.sin(i*math.pi/5+2) for i in range(100)]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pylab.plot(sps2)
 | 
				
			||||||
 | 
					pylab.show()
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					Полученный график: 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 5.3 Изучим цикл while
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					rashod = 300
 | 
				
			||||||
 | 
					while rashod:
 | 
				
			||||||
 | 
					    print("Расход=",rashod)
 | 
				
			||||||
 | 
					    rashod-=50
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Расход= 300
 | 
				
			||||||
 | 
					Расход= 250
 | 
				
			||||||
 | 
					Расход= 200
 | 
				
			||||||
 | 
					Расход= 150
 | 
				
			||||||
 | 
					Расход= 100
 | 
				
			||||||
 | 
					Расход= 50
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import math, pylab
 | 
				
			||||||
 | 
					stroka='Расчет процесса в объекте регулирования'
 | 
				
			||||||
 | 
					i=0
 | 
				
			||||||
 | 
					sps2=[]
 | 
				
			||||||
 | 
					while i<len(stroka):
 | 
				
			||||||
 | 
					    r=1-2/(1+math.exp(0.1*i))
 | 
				
			||||||
 | 
					    sps2.append(r)
 | 
				
			||||||
 | 
					    print('Значение в момент',i,"=",r)
 | 
				
			||||||
 | 
					    i+=1
 | 
				
			||||||
 | 
					else:
 | 
				
			||||||
 | 
					    pylab.plot(sps2)
 | 
				
			||||||
 | 
					    pylab.show()
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					Полученный график: 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					for chislo in range(250, 501):
 | 
				
			||||||
 | 
					    kandidat =chislo // 2 	
 | 
				
			||||||
 | 
					    while kandidat > 1:
 | 
				
			||||||
 | 
					        if chislo%kandidat == 0:
 | 
				
			||||||
 | 
					            print(chislo, ' имеет множитель ', kandidat)
 | 
				
			||||||
 | 
					            break
 | 
				
			||||||
 | 
					        kandidat -= 1
 | 
				
			||||||
 | 
					    else:
 | 
				
			||||||
 | 
					        print(chislo, ' является простым!')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					267  имеет множитель  89
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
| 
		 После Ширина: | Высота: | Размер: 37 KiB  | 
| 
		 После Ширина: | Высота: | Размер: 16 KiB  | 
@ -0,0 +1,42 @@
 | 
				
			|||||||
 | 
					# Общее контрольное задание по теме 5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Коваленко Дмитрий, А-01-23
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Задание
 | 
				
			||||||
 | 
					Реализовать, записать в текстовый файл программы и результаты их выполнения при решении следующих задач:\
 | 
				
			||||||
 | 
					•	Для заданной символьной строки с англоязычным текстом (его можно заимствовать из помощи) определите порядковый номер каждой буквы в английском алфавите.\
 | 
				
			||||||
 | 
					•	Создайте список со словами из задания данного пункта. Для этого списка – определите, есть ли в нем некоторое заданное значение, и выведите соответствующее сообщение: либо о нахождении элемента, либо о его отсутствии в списке (проверить как с имеющимся, так и с отсутствующим словом).\
 | 
				
			||||||
 | 
					•	Создайте список студентов вашей группы (3-4 фамилии) и список их средних баллов в летней сессии – в порядке перечисления студентов в первом списке. Создайте еще 2 аналогичных списка для тех же студентов, но в другом порядке, по зимней сессии. Напишите инструкции, позволяющие по указанной (запрошенной и введенной) фамилии студента вывести его средние баллы по двум сессиям.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Решение
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					from string import ascii_lowercase
 | 
				
			||||||
 | 
					text = '''Bury the light deep within
 | 
				
			||||||
 | 
					Cast aside, there's no coming home'''
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					for el in text:
 | 
				
			||||||
 | 
					    index = ascii_lowercase.find(el.lower())
 | 
				
			||||||
 | 
					    print(index + 1 if index != -1 else el, end='')
 | 
				
			||||||
 | 
					print()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					words = ['Создайте', 'список', 'со', 'словами', 'из', 'задания', 'данного', 'пункта', 'Для', 'этого', 'списка', 'определите', 'есть', 'ли', 'в', 'нем', 'некоторое', 'заданное', 'значение', 'и', 'выведите', 'соответствующее', 'сообщение', 'либо', 'о', 'нахождении', 'элемента', 'либо', 'о', 'его', 'отсутствии', 'в', 'списке', 'проверить', 'как', 'с', 'имеющимся', 'так', 'и', 'с', 'отсутствующим', 'словом']
 | 
				
			||||||
 | 
					keyWord = input('Введите слово, искомое в списке: ')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					result = f'есть в списке' if keyWord in words else 'отсутствует в списке'
 | 
				
			||||||
 | 
					print(f'Введенное Вами слово {keyWord} {result}')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					surnames1 = ['Коваленко', 'Лыкова', 'Ходюк']
 | 
				
			||||||
 | 
					marks1 = [4.75, 3.75, 4.75]
 | 
				
			||||||
 | 
					surnames2 = ['Лыкова', 'Коваленко', 'Ходюк']
 | 
				
			||||||
 | 
					marks2 = [3.25, 4.5, 4.75]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					student = input('Введите фамилию студента: ')
 | 
				
			||||||
 | 
					if student in surnames1:
 | 
				
			||||||
 | 
					    print(f'Средний балл студента {student} за летнюю сессию {marks1[surnames1.index(student)]} и {marks2[surnames2.index(student)]} за зимнюю')
 | 
				
			||||||
 | 
					else:
 | 
				
			||||||
 | 
					    print('Студент отсутствует в списке')
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
@ -0,0 +1,25 @@
 | 
				
			|||||||
 | 
					from string import ascii_lowercase
 | 
				
			||||||
 | 
					text = '''Bury the light deep within
 | 
				
			||||||
 | 
					Cast aside, there's no coming home'''
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					for el in text:
 | 
				
			||||||
 | 
					    index = ascii_lowercase.find(el.lower())
 | 
				
			||||||
 | 
					    print(index + 1 if index != -1 else el, end='')
 | 
				
			||||||
 | 
					print()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					words = ['Создайте', 'список', 'со', 'словами', 'из', 'задания', 'данного', 'пункта', 'Для', 'этого', 'списка', 'определите', 'есть', 'ли', 'в', 'нем', 'некоторое', 'заданное', 'значение', 'и', 'выведите', 'соответствующее', 'сообщение', 'либо', 'о', 'нахождении', 'элемента', 'либо', 'о', 'его', 'отсутствии', 'в', 'списке', 'проверить', 'как', 'с', 'имеющимся', 'так', 'и', 'с', 'отсутствующим', 'словом']
 | 
				
			||||||
 | 
					keyWord = input('Введите слово, искомое в списке: ')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					result = f'есть в списке' if keyWord in words else 'отсутствует в списке'
 | 
				
			||||||
 | 
					print(f'Введенное Вами слово {keyWord} {result}')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					surnames1 = ['Коваленко', 'Лыкова', 'Ходюк']
 | 
				
			||||||
 | 
					marks1 = [4.75, 3.75, 4.75]
 | 
				
			||||||
 | 
					surnames2 = ['Лыкова', 'Коваленко', 'Ходюк']
 | 
				
			||||||
 | 
					marks2 = [3.25, 4.5, 4.75]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					student = input('Введите фамилию студента: ')
 | 
				
			||||||
 | 
					if student in surnames1:
 | 
				
			||||||
 | 
					    print(f'Средний балл студента {student} за летнюю сессию {marks1[surnames1.index(student)]} и {marks2[surnames2.index(student)]} за зимнюю')
 | 
				
			||||||
 | 
					else:
 | 
				
			||||||
 | 
					    print('Студент отсутствует в списке')
 | 
				
			||||||
@ -0,0 +1,24 @@
 | 
				
			|||||||
 | 
					# Индивидуальное контрольное задание по теме 5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Коваленко Дмитрий, А-01-23
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Задание 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Запишите свой e-mail – адрес в виде символьной строки. Напишите инструкции, разделяющие эту строку на две: строка1, содержащая все буквы из состава адреса, и строка 2, содержащая все остальные символы.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Решение
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```py
 | 
				
			||||||
 | 
					from string import ascii_lowercase as letters
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					email = 'KovalenkoDM@mpei.ru'
 | 
				
			||||||
 | 
					emailLetters = ''
 | 
				
			||||||
 | 
					emailSimbols = ''
 | 
				
			||||||
 | 
					for el in email:
 | 
				
			||||||
 | 
					    if letters.find(el.lower()) != -1:
 | 
				
			||||||
 | 
					        emailLetters += el
 | 
				
			||||||
 | 
					    else:
 | 
				
			||||||
 | 
					        emailSimbols += el
 | 
				
			||||||
 | 
					print(f'Letters in email are {emailLetters}\nSimbols in email are {emailSimbols}')
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					from string import ascii_lowercase as letters
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					email = 'KovalenkoDM@mpei.ru'
 | 
				
			||||||
 | 
					emailLetters = ''
 | 
				
			||||||
 | 
					emailSimbols = ''
 | 
				
			||||||
 | 
					for el in email:
 | 
				
			||||||
 | 
					    if letters.find(el.lower()) != -1:
 | 
				
			||||||
 | 
					        emailLetters += el
 | 
				
			||||||
 | 
					    else:
 | 
				
			||||||
 | 
					        emailSimbols += el
 | 
				
			||||||
 | 
					print(f'Letters in email are {emailLetters}\nSimbols in email are {emailSimbols}')
 | 
				
			||||||
					Загрузка…
					
					
				
		Ссылка в новой задаче