Сравнить коммиты
	
		
			48 Коммитов 
		
	
	
	| Автор | SHA1 | Дата | 
|---|---|---|
|  Katerina | 686c8318cd | 2 недель назад | 
|  Katerina | 8d789b4186 | 2 недель назад | 
|  Katerina | 57e81c20f2 | 2 недель назад | 
|  Katerina | bafd67c345 | 2 недель назад | 
|  Katerina | a3ffc6d1a3 | 2 недель назад | 
|  Katerina | 894dc7f32c | 2 недель назад | 
|  Katerina | 7a0c49dca5 | 4 недель назад | 
|  Katerina | 7227541f4c | 4 недель назад | 
|  Katerina | 00419d8165 | 4 недель назад | 
|  Katerina | 7dc5269479 | 4 недель назад | 
|  Katerina | 2cf7e731d1 | 4 недель назад | 
|  Katerina | d4c15cf0f9 | 4 недель назад | 
|  Katerina | be391c6f4b | 4 недель назад | 
|  Katerina | 8c3f5ad93d | 1 месяц назад | 
|  Katerina | 3fee68e1f9 | 1 месяц назад | 
|  Katerina | 850b1b1c9d | 1 месяц назад | 
|  Katerina | 267a9ca488 | 1 месяц назад | 
|  Katerina | 77ba011a0e | 1 месяц назад | 
|  Katerina | 059f3d238d | 1 месяц назад | 
|  Katerina | 8ec39f9007 | 1 месяц назад | 
|  Katerina | a4455b87f9 | 1 месяц назад | 
|  Katerina | 12c353a8cd | 1 месяц назад | 
|  Katerina | 02f7cdac48 | 1 месяц назад | 
|  Katerina | 8dcb6a2b76 | 1 месяц назад | 
|  Katerina | cc11513bad | 1 месяц назад | 
|  Katerina | 54cc4d987a | 1 месяц назад | 
|  Katerina | 782289ee95 | 1 месяц назад | 
|  Katerina | 1f79fa6fcb | 1 месяц назад | 
|  Katerina | 6f3ea550e0 | 1 месяц назад | 
|  Katerina | 56cdacb6c6 | 1 месяц назад | 
|  Katerina | 020782e1e9 | 1 месяц назад | 
|  Katerina | 8b3797d20a | 1 месяц назад | 
|  Katerina | 750885f839 | 1 месяц назад | 
|  Katerina | 98879a0b74 | 1 месяц назад | 
|  Katerina | 678ed25372 | 1 месяц назад | 
|  Katerina | 5c2d17d89e | 1 месяц назад | 
|  Katerina | a071e986be | 1 месяц назад | 
|  Katerina | abed8344ec | 1 месяц назад | 
|  Katerina | 40acfc4c1b | 2 месяцев назад | 
|  Katerina | 0a11476bf4 | 2 месяцев назад | 
|  Katerina | baafcfea3f | 2 месяцев назад | 
|  Katerina | 41121d030b | 2 месяцев назад | 
|  Katerina | 0dd80bc5a1 | 2 месяцев назад | 
|  Katerina | 2ba0c3064b | 2 месяцев назад | 
|  Katerina | 1d2c40efaa | 2 месяцев назад | 
|  Katerina | 6935f941e8 | 2 месяцев назад | 
|  Katerina | 351c61113e | 2 месяцев назад | 
|  Katerina | 85f2933574 | 2 месяцев назад | 
| @ -0,0 +1,5 @@ | ||||
|  #Программа по Теме 1 <Зеленкина КМ> | ||||
| print('Hello') | ||||
| h=input('Your name=') | ||||
| import os | ||||
| os.chdir(r'C:\\Users\\user\\python-labs\\TEMA1') | ||||
| После Ширина: | Высота: | Размер: 11 KiB | 
| После Ширина: | Высота: | Размер: 75 KiB | 
| После Ширина: | Высота: | Размер: 120 KiB | 
| После Ширина: | Высота: | Размер: 104 KiB | 
| После Ширина: | Высота: | Размер: 49 KiB | 
| После Ширина: | Высота: | Размер: 52 KiB | 
| После Ширина: | Высота: | Размер: 32 KiB | 
| После Ширина: | Высота: | Размер: 46 KiB | 
| После Ширина: | Высота: | Размер: 22 KiB | 
| После Ширина: | Высота: | Размер: 27 KiB | 
| @ -0,0 +1,15 @@ | ||||
|  #Программа по Теме 1 <Зеленкина КМ> | ||||
| 
 | ||||
| import os | ||||
| os.chdir(r'C:\\Users\\user\\python-labs\\TEMA1') | ||||
| 
 | ||||
| import Pr0 | ||||
| Hello | ||||
| Your name=Katerina | ||||
| 
 | ||||
| import os | ||||
| os.chdir(r'C:\\Users\\user\\python-labs\\TEMA1') | ||||
| 
 | ||||
| import prb1 | ||||
| Как Вас зовут? Katerina | ||||
| Привет, Katerina | ||||
| @ -0,0 +1,156 @@ | ||||
| # Отчёт по теме 1 | ||||
| Зеленкина Катерина, А-02-23 | ||||
| 
 | ||||
| ## Пункты 1-2. Запуск программы | ||||
| Запустила программу-интерпретатор IDLE   | ||||
|  | ||||
| 
 | ||||
| ## Пункты 3-5. Изучение диалогового окна | ||||
| 
 | ||||
| Ввела инструкции вывода и ввода, а затем завершила работу интерпретатора: | ||||
| 
 | ||||
| ```py | ||||
| >>> print('Hello') | ||||
| Hello | ||||
| >>> h=input('Your name=') | ||||
| Your name=Katerina | ||||
| >>> exit() | ||||
| ``` | ||||
| 
 | ||||
| 	 | ||||
| ## Пункты 6-8. Интерактивная графическая оболочка IDLE среды Python | ||||
| Запустила обратно ярлык «IDLE (Python 3.Х GUI )» и изучила устройство главного командного окна среды | ||||
| 
 | ||||
| Настроила рабочий каталог: | ||||
| 
 | ||||
| ```py | ||||
| >>> import os | ||||
| >>> os.chdir(r'C:\Users\user\python-labs\TEMA1') | ||||
| ``` | ||||
| 
 | ||||
| ## Пункт 9. Изучение предложений главного и выпадающих меню   | ||||
| 
 | ||||
| Нажала "Options/Configure IDLE":  | ||||
| 1) Нажала "Fonts",установила шрифт типа Arial CYR размером 11 | ||||
|  | ||||
| 
 | ||||
| 2) Нажала "Windows", установила размер начального окна - высота 50, ширина 100 | ||||
|  | ||||
| 
 | ||||
| 3) Изменила подкраску комментариев: перешла в раздел "Highlights", нажала "#Click selects item/Choose color for/*Выбрала коричневый цвет*/OK" | ||||
| ![Скриншот комментариев] (image5.png) | ||||
| 
 | ||||
| ## Пункт 10. Текстовый редактор | ||||
| Нажала "Файл/Новый файл". Вставила инструкции из п. п. 3,4 и 8. Сохранила как Pr0.py | ||||
| 
 | ||||
|  | ||||
| 
 | ||||
| Запустила модуль "Run/Run Modul", или с помощью "import Pr0", или F5 | ||||
| 
 | ||||
| Результат: | ||||
| ```py | ||||
| ========================== RESTART: C:\Users\user\python-labs\TEMA1\Pr0.py ========================= | ||||
| Hello | ||||
| Your name=Katerina | ||||
| >>> import Pr0 | ||||
| Hello | ||||
| Your name=Katerina | ||||
| ``` | ||||
| 
 | ||||
| ## Пункт 11. Запуск файла prb1 | ||||
| Запустила файл prb1.py  | ||||
| 
 | ||||
| ```py | ||||
| >>> import prb1 | ||||
| Как Вас зовут? Katerina | ||||
| Привет, Katerina | ||||
| ``` | ||||
| 
 | ||||
| ## Пункт 12-13. Изучение каталога pycache | ||||
| 
 | ||||
| Открыла файл Pr0.cpython-313.рус в текстовом редакторе | ||||
| 
 | ||||
|  | ||||
| 
 | ||||
| Вывод: Код представлен в двоичном коде. Компиляция перевела программу с языка программирования, понятный человеку, на машинный код понятный процессору. | ||||
| 
 | ||||
| ## Пункт 14. Раздел "HELP" | ||||
| 
 | ||||
| Я спросила про функцию"print": | ||||
| 
 | ||||
| ```py | ||||
| >>> help(print) | ||||
| Help on built-in function print in module builtins: | ||||
| 
 | ||||
| print(*args, sep=' ', end='\n', file=None, flush=False) | ||||
|     Prints the values to a stream, or to sys.stdout by default. | ||||
| 
 | ||||
|     sep | ||||
|       string inserted between values, default a space. | ||||
|     end | ||||
|       string appended after the last value, default a newline. | ||||
|     file | ||||
|       a file-like object (stream); defaults to the current sys.stdout. | ||||
|     flush | ||||
|       whether to forcibly flush the stream. | ||||
| ``` | ||||
| 
 | ||||
| Попробовала ввести несколько инструкций в одну строку | ||||
| 
 | ||||
| ```py | ||||
| help(print); help(input) | ||||
| Help on built-in function print in module builtins: | ||||
| 
 | ||||
| print(*args, sep=' ', end='\n', file=None, flush=False) | ||||
|     Prints the values to a stream, or to sys.stdout by default. | ||||
| 
 | ||||
|     sep | ||||
|       string inserted between values, default a space. | ||||
|     end | ||||
|       string appended after the last value, default a newline. | ||||
|     file | ||||
|       a file-like object (stream); defaults to the current sys.stdout. | ||||
|     flush | ||||
|       whether to forcibly flush the stream. | ||||
| 
 | ||||
| Help on built-in function input in module builtins: | ||||
| 
 | ||||
| input(prompt='', /) | ||||
|     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. | ||||
| ``` | ||||
| 
 | ||||
| Также для обращения к оперативной помощи можно использовать F1 или нажать "Help/Python Docs" | ||||
| 
 | ||||
| ## Пункт 15. Перемещение между окнами | ||||
| ## 15.1. Открытие и запуск файла prb1 | ||||
| Открыла файл prb1.py в среде питон и запустила его: | ||||
|  | ||||
| 
 | ||||
| Результат: | ||||
| ```py | ||||
| ============================================================== RESTART: C:\Users\user\python-labs\TEMA1\prb1.py ============================================================= | ||||
| Как Вас зовут?  Katerina | ||||
| Привет,  Katerina | ||||
| ``` | ||||
| 
 | ||||
| ## 15.2. Запуск файла tdemo_chaos | ||||
| Запустила файл tdemo_chaos, результат: | ||||
|  | ||||
| 
 | ||||
| ## 15.3. Turtle Demo | ||||
| Нажала на "Help/Turtle Demo/Examples/ Clock/Start" | ||||
|  | ||||
| 
 | ||||
| Также посмотрела примеры других программ. Пример: | ||||
|  | ||||
| 
 | ||||
| ## Пункт 16. Выход из среды | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| @ -0,0 +1,9 @@ | ||||
| # Индивидуальное контрольное задание по Теме 1 | ||||
| Зеленкина Катерина, А-02-23 | ||||
| 
 | ||||
| ## Вопрос | ||||
| 12) Если требуется повторить с небольшим изменением ранее введенную инструкцию, работая в командном окне IDLE, как это лучше сделать? | ||||
| 
 | ||||
| ## Ответ | ||||
| 
 | ||||
| Перейти на строку с инструкцией, которую нужно повторить, нажать "Enter" (тогда скопируется инструкция) и внести нужные изменения | ||||
| @ -0,0 +1,810 @@ | ||||
| # Отчёт по теме 2 | ||||
| Зеленкина Катерина, А-02-23 | ||||
| 
 | ||||
| ## Пункт 1. Запуск оболочки IDLE | ||||
| 
 | ||||
| Установим рабочий каталог: | ||||
| 
 | ||||
| ```py | ||||
| >>> import os | ||||
| >>> os.chdir(r'C:\Users\user\python-labs\TEMA2') | ||||
| ``` | ||||
| ## Пункт 2. Простые объекты | ||||
| Рассмотрела операции присваивания: | ||||
| 
 | ||||
| ```py | ||||
| f1=16; f2=3 | ||||
| f1,f2 | ||||
| (16, 3) | ||||
| f1;f2 | ||||
| 16 | ||||
| 3 | ||||
| ``` | ||||
| 
 | ||||
| Просмотрела уже существующие объекты в данный момент в среде Python: | ||||
| 
 | ||||
| ```py | ||||
| >>> dir() | ||||
| ['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'f1', 'f2', 'os'] | ||||
| ``` | ||||
| 
 | ||||
| Просмотрела список атрибутов объекта f1: | ||||
| 
 | ||||
| ```py | ||||
| >>> 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'] | ||||
| ``` | ||||
| 
 | ||||
| Определила классовую принадлежность объекта f2: | ||||
| 
 | ||||
| ```py | ||||
| >>> type(f2) | ||||
| <class 'int'> | ||||
| ``` | ||||
| 
 | ||||
| Удалила объекты f1 и f2: | ||||
| 
 | ||||
| ```py | ||||
| >>> del f1,f2 | ||||
| >>> f1;f2 | ||||
| Traceback (most recent call last): | ||||
|   File "<pyshell#9>", line 1, in <module> | ||||
|     f1;f2 | ||||
| NameError: name 'f1' is not defined | ||||
| ``` | ||||
| 
 | ||||
| ## Пункт 3. Правила именования объектов в Python. | ||||
| 
 | ||||
| Выполнила следующие предложенные операции. Последние две из них имели недопустимые имена: | ||||
| 
 | ||||
| ```py | ||||
| >>> gg1=1.6 | ||||
| >>> gg1 | ||||
| 1.6 | ||||
| >>> hh1='Строка' | ||||
| >>> hh1 | ||||
| 'Строка' | ||||
| >>> 73sr=3 - неправильное именование | ||||
| SyntaxError: invalid decimal literal | ||||
| >>> and=7 - неправильное именование | ||||
| SyntaxError: invalid syntax | ||||
| ``` | ||||
| 
 | ||||
| ## Пункты 4-5. Список ключевых слов и встроенных идентификаторов  | ||||
| 
 | ||||
| Вывела список ключевых слов и сохранила его в переменную | ||||
| 
 | ||||
| ```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'] | ||||
| >>> a = keyword.kwlist | ||||
| >>> a | ||||
| ['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'] | ||||
| ``` | ||||
| 
 | ||||
| Вывела список встроенных идентификаторов: | ||||
| 
 | ||||
| ```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() | ||||
| 
 | ||||
| ```py | ||||
| >>> help (abs) | ||||
| Help on built-in function abs in module builtins: | ||||
| 
 | ||||
| abs(x, /) | ||||
|     Return the absolute value of the argument. | ||||
| 
 | ||||
| >>> abs(-1) | ||||
| 1 | ||||
| ``` | ||||
| 
 | ||||
| ### Функция len() | ||||
| 
 | ||||
| ```py | ||||
| >>> help (len) | ||||
| Help on built-in function len in module builtins: | ||||
| 
 | ||||
| len(obj, /) | ||||
|     Return the number of items in a container. | ||||
| 
 | ||||
| >>> b=[0,1,2,3,4,5,6,7,8,9,10] | ||||
| >>> b | ||||
| [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] | ||||
| >>> len(b) | ||||
| 11 | ||||
| ``` | ||||
| 
 | ||||
| ### Функции max()/min() | ||||
| 
 | ||||
| ```py | ||||
| >>> help(max) | ||||
| Help on built-in function max in module builtins: | ||||
| 
 | ||||
| max(...) | ||||
|     max(iterable, *[, default=obj, key=func]) -> value | ||||
|     max(arg1, arg2, *args, *[, key=func]) -> value | ||||
| 
 | ||||
|     With a single iterable argument, return its biggest item. The | ||||
|     default keyword-only argument specifies an object to return if | ||||
|     the provided iterable is empty. | ||||
|     With two or more positional arguments, return the largest argument. | ||||
| 
 | ||||
| >>> help(min) | ||||
| Help on built-in function min in module builtins: | ||||
| 
 | ||||
| min(...) | ||||
|     min(iterable, *[, default=obj, key=func]) -> value | ||||
|     min(arg1, arg2, *args, *[, key=func]) -> value | ||||
| 
 | ||||
|     With a single iterable argument, return its smallest item. The | ||||
|     default keyword-only argument specifies an object to return if | ||||
|     the provided iterable is empty. | ||||
|     With two or more positional arguments, return the smallest argument. | ||||
| 
 | ||||
| >>> max(b) | ||||
| 10 | ||||
| >>> min(b) | ||||
| 0 | ||||
| ``` | ||||
| 
 | ||||
| ### Функция pow() | ||||
| 
 | ||||
| ```py | ||||
| >>> help(pow) | ||||
| Help on built-in function pow in module builtins: | ||||
| 
 | ||||
| pow(base, exp, mod=None) | ||||
|     Equivalent to base**exp with 2 arguments or base**exp % mod with 3 arguments | ||||
| 
 | ||||
|     Some types, such as ints, are able to use a more efficient algorithm when | ||||
|     invoked using the three argument form. | ||||
| 
 | ||||
| >>> pow(6,2) | ||||
| 36 | ||||
| ``` | ||||
| 
 | ||||
| ### Функция round() | ||||
| 
 | ||||
| ```py | ||||
| >>> help(round) | ||||
| Help on built-in function round in module builtins: | ||||
| 
 | ||||
| round(number, ndigits=None) | ||||
|     Round a number to a given precision in decimal digits. | ||||
| 
 | ||||
|     The return value is an integer if ndigits is omitted or None.  Otherwise | ||||
|     the return value has the same type as the number.  ndigits may be negative. | ||||
| 
 | ||||
| >>> round(3.8) | ||||
| 4 | ||||
| ``` | ||||
| 
 | ||||
| ### Функция sorted() | ||||
| 
 | ||||
| ```py | ||||
| >>> help(sorted) | ||||
| Help on built-in function sorted in module builtins: | ||||
| 
 | ||||
| sorted(iterable, /, *, key=None, reverse=False) | ||||
|     Return a new list containing all items from the iterable in ascending order. | ||||
| 
 | ||||
|     A custom key function can be supplied to customize the sort order, and the | ||||
|     reverse flag can be set to request the result in descending order. | ||||
| 
 | ||||
| >>> c=[10, 4, 9, 1, 23] | ||||
| >>> c | ||||
| [10, 4, 9, 1, 23] | ||||
| >>> sorted(c) | ||||
| [1, 4, 9, 10, 23] | ||||
| ``` | ||||
| 
 | ||||
| ### Функция sum() | ||||
| 
 | ||||
| ```py | ||||
| >>> help(sum) | ||||
| Help on built-in function sum in module builtins: | ||||
| 
 | ||||
| sum(iterable, /, start=0) | ||||
|     Return the sum of a 'start' value (default: 0) plus an iterable of numbers | ||||
| 
 | ||||
|     When the iterable is empty, return the start value. | ||||
|     This function is intended specifically for use with numeric values and may | ||||
|     reject non-numeric types. | ||||
| 
 | ||||
| >>> sum(c) | ||||
| 47 | ||||
| ``` | ||||
| 
 | ||||
| ### Функция zip() | ||||
| 
 | ||||
| ```py | ||||
| >>> help(zip) | ||||
| Help on class zip in module builtins: | ||||
| 
 | ||||
| class zip(object) | ||||
|  |  zip(*iterables, strict=False) | ||||
|  | | ||||
|  |  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. | ||||
|  | | ||||
|  |  If strict is true and one of the arguments is exhausted before the others, | ||||
|  |  raise a ValueError. | ||||
|  | | ||||
|  |     >>> list(zip('abcdefg', range(3), range(4))) | ||||
|  |     [('a', 0, 0), ('b', 1, 1), ('c', 2, 2)] | ||||
|  | | ||||
|  |  Methods defined here: | ||||
|  | | ||||
|  |  __getattribute__(self, name, /) | ||||
|  |      Return getattr(self, name). | ||||
|  | | ||||
|  |  __iter__(self, /) | ||||
|  |      Implement iter(self). | ||||
|  | | ||||
|  |  __next__(self, /) | ||||
|  |      Implement next(self). | ||||
|  | | ||||
|  |  __reduce__(self, /) | ||||
|  |      Return state information for pickling. | ||||
|  | | ||||
|  |  __setstate__(self, object, /) | ||||
|  |      Set state information for unpickling. | ||||
|  | | ||||
|  |  ---------------------------------------------------------------------- | ||||
|  |  Static methods defined here: | ||||
|  | | ||||
|  |  __new__(*args, **kwargs) | ||||
|  |      Create and return a new object.  See help(type) for accurate signature. | ||||
| 
 | ||||
| >>> c | ||||
| [10, 4, 9, 1, 23] | ||||
| >>> d=[1,2,3,4,5] | ||||
| >>> d | ||||
| [1, 2, 3, 4, 5] | ||||
| >>> h=zip(c,d) | ||||
| >>> h | ||||
| <zip object at 0x0000021067B5EC80> | ||||
| >>> list(h) | ||||
| [(10, 1), (4, 2), (9, 3), (1, 4), (23, 5)] | ||||
| ``` | ||||
| 
 | ||||
| ## Пункт 6. Регистр букв | ||||
| Проверила влияние больших и малых букв в имени переменных | ||||
| 
 | ||||
| ```py | ||||
| >>> Gg1=45 | ||||
| >>> gg1 | ||||
| 1.6 | ||||
| >>> Gg1 | ||||
| 45 | ||||
| ``` | ||||
| 
 | ||||
| ## Пункт 7. Простые базовые типы объектов | ||||
| ### 7.1 Логический тип (bool) | ||||
| 
 | ||||
| ```py | ||||
| >>> bb1=True; bb2=False | ||||
| >>> bb1;bb2 | ||||
| True | ||||
| False | ||||
| >>> type(bb1) | ||||
| <class 'bool'> | ||||
| ``` | ||||
| 
 | ||||
| ### 7.2 Другие простые типы | ||||
| 
 | ||||
| ```py | ||||
| >>> ii1=-1234567890 | ||||
| >>> type(ii1) | ||||
| <class 'int'> | ||||
| 
 | ||||
| >>> ff1=-8.9876e-12 | ||||
| >>> type(ff1) | ||||
| <class 'float'> | ||||
| 
 | ||||
| >>> dv1=0b1101010 #Двоичное число | ||||
| >>> type(dv1) | ||||
| <class 'int'> | ||||
| ``` | ||||
| Двоичное число сохранено в объекте класса int | ||||
| 
 | ||||
| ```py | ||||
| >>> vsm1=0o52765 #Восьмеричное число | ||||
| >>> type(vsm1) | ||||
| <class 'int'> | ||||
| 
 | ||||
| >>> shest1=0x7109af6 #Шестнадцатеричное число | ||||
| >>> type(shest1) | ||||
| <class 'int'> | ||||
| 
 | ||||
| cc1=2-3j | ||||
| type(cc1) | ||||
| <class 'complex'> | ||||
| ``` | ||||
| 
 | ||||
| Создание комплексного числа: | ||||
| 
 | ||||
| ```py | ||||
| a=3.67; b=-0.45 | ||||
| cc2=complex(a,b) | ||||
| type(cc2) | ||||
| <class 'complex'> | ||||
| ``` | ||||
| 
 | ||||
| ### 7.3 Строка символов | ||||
| 
 | ||||
| Строки выделяются апострофами: | ||||
| ```py | ||||
| >>> ss1='Это - строка символов' | ||||
| >>> ss1 | ||||
| 'Это - строка символов' | ||||
| ``` | ||||
| 
 | ||||
| Строки выделяются двойными кавычками: | ||||
| ```py | ||||
| >>> ss1="Это - строка символов" | ||||
| >>> ss1 | ||||
| 'Это - строка символов' | ||||
| ``` | ||||
| 
 | ||||
| Попробовала экранированные последовательности: | ||||
| 
 | ||||
| ```py | ||||
| >>> ss1a="Это - \" строка символов \", \n \t выводимая на двух строках" | ||||
| >>> print(ss1a) | ||||
| Это - " строка символов ",  | ||||
|  	 выводимая на двух строках | ||||
| ``` | ||||
| 
 | ||||
| Создала строку по шаблону: | ||||
| 
 | ||||
| ```py | ||||
| >>> ss1b= 'Меня зовут: \n Зеленкина К. М.' | ||||
| >>> print(ss1b) | ||||
| Меня зовут:  | ||||
|  Зеленкина К. М. | ||||
| ``` | ||||
| Многострочные строки: | ||||
| 
 | ||||
| ```py | ||||
| >>> mnogo="""Нетрудно заметить , что в результате операции | ||||
| над числами разных типов получается число, | ||||
| имеющее более сложный тип из тех, которые участвуют в операции.""" | ||||
| 
 | ||||
| >>> print(mnogo) | ||||
| Нетрудно заметить , что в результате операции | ||||
| над числами разных типов получается число, | ||||
| имеющее более сложный тип из тех, которые участвуют в операции. | ||||
| ``` | ||||
| 
 | ||||
| Обратилась к частям строки с помощью индексов: | ||||
| 
 | ||||
| ```py | ||||
| >>> ss1[0] | ||||
| 'Э' | ||||
| >>> ss1[8] | ||||
| 'р' | ||||
| >>> ss1[-2] | ||||
| 'о' | ||||
| ``` | ||||
| 
 | ||||
| Выполнила операцию «разрезания»/«создания среза»: | ||||
| ```py | ||||
| >>> ss1[6:9] | ||||
| 'стр' | ||||
| >>> ss1[13:] | ||||
| 'символов' | ||||
| >>> ss1[:13] | ||||
| 'Это - строка ' | ||||
| >>> ss1[5:-8] | ||||
| ' строка ' | ||||
| >>> ss1[3:17:2] | ||||
| '  тоасм' | ||||
| ``` | ||||
| 
 | ||||
| При отрицательном значении шага перечислились элементы с индексами от 3 до 17 в обратном порядке: | ||||
| ```py | ||||
| >>> ss1[17:3:-2] | ||||
| 'омсаот ' | ||||
| ``` | ||||
| 
 | ||||
| Заменив 17 на -4, мы получим тот-же результат, т. к. символ под индексом 17 и  -4 один и тот же: | ||||
| 
 | ||||
| ```py | ||||
| >>> ss1[-4:3:-2] | ||||
| 'омсаот ' | ||||
| ``` | ||||
| 
 | ||||
| Строка является неизменяемым объектом, поэтому нам выдаст ошибку при попытке внести изменения: | ||||
| 
 | ||||
| ```py | ||||
| ss1[4]='=' | ||||
| Traceback (most recent call last): | ||||
|   File "<pyshell#11>", line 1, in <module> | ||||
|     ss1[4]='=' | ||||
| TypeError: 'str' object does not support item assignment | ||||
| ``` | ||||
| 
 | ||||
| ```py | ||||
| >>> sk1=ss1b[:4]+' именовать'+ss1b[12:]; print(sk1) | ||||
| Меня именовать | ||||
|  Зеленкина К. М. | ||||
| ``` | ||||
| Самостоятельно придумала значения и создала объекты разных типов: | ||||
| 
 | ||||
| ```py | ||||
| >>> flag = True | ||||
| >>> type(flag) | ||||
| <class 'bool'>  | ||||
| 
 | ||||
| >>> n=16 | ||||
| >>> type(n) | ||||
| <class 'int'> | ||||
| 
 | ||||
| >>> k = 'Привет' | ||||
| >>> type(k) | ||||
| <class 'str'> | ||||
| ``` | ||||
| 
 | ||||
| ## Пункт 8. Сложные типы объектов | ||||
| ### 8.1 Списки | ||||
| 
 | ||||
| __Список__ — это упорядоченная коллекция элементов произвольных типов (числа, строки, другие объекты). | ||||
| 
 | ||||
| Список с элементами разных типов: | ||||
| 
 | ||||
| ```py | ||||
| >>> spis1=[111, 'Spisok' ,5-9j] | ||||
| >>> spis1 | ||||
| [111, 'Spisok', (5-9j)] | ||||
| ``` | ||||
| 
 | ||||
| Вводить элементы в списках можно на разных строках до закрытия квадратной скобкой: | ||||
| 
 | ||||
| ```py | ||||
| >>> stup=[0,0,1,1,1,1,1,1,1]; stup | ||||
| [0, 0, 1, 1, 1, 1, 1, 1, 1] | ||||
| >>> spis=[1,2,3,4, | ||||
|       5,6,7, | ||||
|       8,9,10] | ||||
| >>> spis | ||||
| [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] | ||||
| ``` | ||||
| 
 | ||||
| В списках тоже можно обращаться к элементам по индексам: | ||||
| 
 | ||||
| ```py | ||||
| >>> spis1[-1] | ||||
| (5-9j) | ||||
| 
 | ||||
| >>> stup[-8::2] | ||||
| [0, 1, 1, 1]  | ||||
| ``` | ||||
| 
 | ||||
| Пояснение: Вошло 4 элемента. Элемент под индексом '-8' есть элемент с индексом 1, срез произойдёт до последнего элемента с шагом 2 | ||||
| 
 | ||||
| Заменила второй элемент в spis1: | ||||
| 
 | ||||
| ```py | ||||
| >>> spis1[1]='Список' | ||||
| >>> spis1 | ||||
| [111, 'Список', (5-9j)] | ||||
| >>> len(spis1) | ||||
| 3 | ||||
| ``` | ||||
| 
 | ||||
| Добавление элементов в список: | ||||
| 
 | ||||
| 
 | ||||
| ```py | ||||
| >>> 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 | ||||
| [111, 'Список', (5-9j), 'New item'] | ||||
| 
 | ||||
| 
 | ||||
| >>> spis1.append(ss1b) | ||||
| >>> spis1 | ||||
| [111, 'Список', (5-9j), 'New item', 'Меня зовут: \n Зеленкина К. М.'] | ||||
| >>> spis1.pop(1) | ||||
| 'Список' | ||||
| >>> spis1 | ||||
| [111, (5-9j), 'New item', 'Меня зовут: \n Зеленкина К. М.'] | ||||
| ``` | ||||
| 
 | ||||
| ### Другие методы: | ||||
| __insert__ - вставляет элемент в нужную позицию | ||||
| 
 | ||||
| ```py | ||||
| >>> spis1.insert(0, 24); spis1 | ||||
| [24, 111, (5-9j), 'New item', 'Меня зовут: \n Зеленкина К. М.'] | ||||
| ``` | ||||
| __remove__ - удалит элемент, указанный в скобках | ||||
| 
 | ||||
| ```py | ||||
| >>> spis1.remove(24); spis1 | ||||
| [111, (5-9j), 'New item', 'Меня зовут: \n Зеленкина К. М.'] | ||||
| ``` | ||||
| 
 | ||||
| __extend__ - добавляет каждый элемент аргумента | ||||
| 
 | ||||
| ```py | ||||
| >>> spis1.extend('24'); spis1 | ||||
| [111, (5-9j), 'New item', 'Меня зовут: \n Зеленкина К. М.', '2', '4'] | ||||
| ``` | ||||
| 
 | ||||
| __clear__ - удаляет всё из списка | ||||
| 
 | ||||
| ```py | ||||
| >>> spis1.clear(); spis1 | ||||
| [] | ||||
| ``` | ||||
| 
 | ||||
| __sort__ - сортирует элементы в списке по возрастанию, а буквы по алфавиту | ||||
| 
 | ||||
| ```py | ||||
| >>> spis1=[20, 4, 63, 2, 1, 0, 13, 7]; spis1 | ||||
| [20, 4, 63, 2, 1, 0, 13, 7] | ||||
| >>> spis1.sort() | ||||
| >>> spis1 | ||||
| [0, 1, 2, 4, 7, 13, 20, 63] | ||||
| 
 | ||||
| >>> spis2 = ['д', 'с','г','а','ш'] | ||||
| >>> spis2.sort() | ||||
| >>> spis2 | ||||
| ['а', 'г', 'д', 'с', 'ш'] | ||||
| ``` | ||||
| 
 | ||||
| __reverse__ - сортирует элементы в обратном порядке | ||||
| 
 | ||||
| ```py | ||||
| >>> spis1.reverse(); spis1 | ||||
| [63, 20, 13, 7, 4, 2, 1, 0] | ||||
| 
 | ||||
| >>> spis2.reverse();spis2 | ||||
| ['ш', 'с', 'д', 'г', 'а'] | ||||
| ``` | ||||
| 
 | ||||
| __copy__ - копирует список | ||||
| 
 | ||||
| ```py | ||||
| >>> vv=spis1.copy(); vv | ||||
| [63, 20, 13, 7, 4, 2, 1, 0] | ||||
| ``` | ||||
| 
 | ||||
| __count__ - cчитает количество заданного аргумента в скобках в списке | ||||
| 
 | ||||
| ```py | ||||
| >>> spis2.count('д') | ||||
| 1 | ||||
| ``` | ||||
| 
 | ||||
| __index__ - выдаёт индекс элемента | ||||
| 
 | ||||
| ```py | ||||
| >>> spis1.index(20) | ||||
| 1 | ||||
| ``` | ||||
| 
 | ||||
| #### Вложенные списки | ||||
| 
 | ||||
| ```py | ||||
| >>> spis2=[spis1,[4,5,6,7]]; spis2 | ||||
| [[63, 20, 13, 7, 4, 2, 1, 0], [4, 5, 6, 7]] | ||||
| >>> spis2[0][1] #обращение к элементу списка spis1 | ||||
| 20 | ||||
| >>> spis2[0][1]=78; spis2 #Замена значения элемента на 78 | ||||
| [[63, 78, 13, 7, 4, 2, 1, 0], [4, 5, 6, 7]] | ||||
| 
 | ||||
| >>> spis1 | ||||
| [63, 78, 13, 7, 4, 2, 1, 0] | ||||
| ``` | ||||
| 
 | ||||
| Пояснение: Список spis1 отличается от первоначального, потому что он лежит в другом списке, в котором мы и поменяли значение | ||||
| 
 | ||||
| Создала список с разными типами данных | ||||
| 
 | ||||
| ```py | ||||
| >>>spisok = [89, 'дом', True, ['яблоко', 'помидор', 'хлеб']]; spisok | ||||
|            | ||||
| [89, 'дом', True, ['яблоко', 'помидор', 'хлеб']] | ||||
| >>> type(spisok) | ||||
|            | ||||
| <class 'list'> | ||||
| ``` | ||||
| 
 | ||||
| ### 8.2 Кортежи | ||||
| 
 | ||||
| __Кортеж__ – кортежи являются последовательностями, как списки, но они являются неизменяемыми, как строки. | ||||
| 
 | ||||
| ```py | ||||
| >>> kort1=(222,'Kortezh',77+8j); kort1 | ||||
|            | ||||
| (222, 'Kortezh', (77+8j)) | ||||
| ``` | ||||
| 
 | ||||
| Переопределим кортеж: | ||||
| 
 | ||||
| 1. Добавим элементы | ||||
| 
 | ||||
| ```py | ||||
| >>> kort1= kort1+(1,2)           | ||||
| >>> kort1          | ||||
| (222, 'Kortezh', (77+8j), 1, 2) | ||||
| 
 | ||||
| >>> kort1= kort1+(ss1b,); kort1         | ||||
| (222, 'Kortezh', (77+8j), 1, 2, 'Меня зовут: \n Зеленкина К. М.') | ||||
| ``` | ||||
| 
 | ||||
| 2. Удалим элементы: | ||||
| 
 | ||||
| ```py | ||||
| >>> kort2=kort1[:2]+kort1[3:]; kort2       | ||||
| (222, 'Kortezh', 1, 2, 'Меня зовут: \n Зеленкина К. М.') | ||||
| ``` | ||||
| 
 | ||||
| Узнала индекс заданного элемента: | ||||
| 
 | ||||
| ```py | ||||
| >>> kort1.index(2)          | ||||
| 4 | ||||
| ``` | ||||
| 
 | ||||
| Подсчитала количество вхождений заданного элемента в кортеже: | ||||
| 
 | ||||
| ```py | ||||
| >>> kort1.count(222)          | ||||
| 1 | ||||
| ``` | ||||
| 
 | ||||
| Т. к. кортежи неизменяемы, то у них отсутствуют методы append и pop. | ||||
| Попробуем заменить элемент в кортеже (выдаст ошибку): | ||||
| 
 | ||||
| ```py | ||||
| >>> kort1[2]=90           | ||||
| Traceback (most recent call last): | ||||
|   File "<pyshell#161>", line 1, in <module> | ||||
|     kort1[2]=90 | ||||
| TypeError: 'tuple' object does not support item assignment | ||||
| ``` | ||||
| 
 | ||||
| ### Создаю объект-кортеж с разными типами данных: | ||||
| 
 | ||||
| ```py | ||||
| >>> kort2=(23, 'Тыква', [4, 5, 6, 7], (4, 6, 8, 10))    | ||||
| kort2          | ||||
| (23, 'Тыква', [4, 5, 6, 7], (4, 6, 8, 10)) | ||||
| type(kort2) | ||||
|            | ||||
| <class 'tuple'> | ||||
| ``` | ||||
| 
 | ||||
| ## 8.3 Словарь | ||||
| __Словарь__ - совокупность пар: «ключ (key)»:«значение (value)». | ||||
| 
 | ||||
| Создадим словарь: | ||||
| 
 | ||||
| ```py | ||||
| >>> dic1={'Saratov':145, 'Orel':56, 'Vologda':45}; dic1          | ||||
| {'Saratov': 145, 'Orel': 56, 'Vologda': 45} | ||||
| ``` | ||||
| В словарях обращение к элементам происходит по ключам: | ||||
| 
 | ||||
| ```py | ||||
| >>> dic1['Orel']          | ||||
| 56 | ||||
| ``` | ||||
| Изменение словаря, добавление элемента: | ||||
| 
 | ||||
| ```py | ||||
|  >>> dic1['Pskov']=78 | ||||
|  >>> dic1 | ||||
| {'Saratov': 120, 'Vologda': 45, 'Pskov': 78, 'Orel': 56} | ||||
| ``` | ||||
| Отобразим сортированный словарь с помощью функции sorted (Отображает, но не сортирует): | ||||
| 
 | ||||
| ```py | ||||
| >>> sorted(dic1.keys())         | ||||
| ['Orel', 'Saratov', 'Vologda'] | ||||
| >>> sorted(dic1.values())         | ||||
| [45, 56, 145] | ||||
| ``` | ||||
| 
 | ||||
| Элементы словаря могут быть любого типа, даже словарём: | ||||
| 
 | ||||
| ```py | ||||
| >>> dic2={1:'mean',2:'standart deviation',3:'correlation'}          | ||||
| >>> dic3={'statistics':dic2,'POAS':['base','elementary','programming']}  | ||||
| >>> dic3         | ||||
| {'statistics': {1: 'mean', 2: 'standart deviation', 3: 'correlation'}, 'POAS': ['base', 'elementary', 'programming']}   | ||||
|      | ||||
| >>> dic3['statistics'][2]          | ||||
| 'standart deviation' | ||||
| ``` | ||||
| 
 | ||||
| Создадим более сложный словарь:  | ||||
| 
 | ||||
| ```py | ||||
| >>> dic4=dict([(1,['A','B','C']),(2,[4,5]),('Q','Prim'),('Stroka',ss1b)]); dic4       | ||||
| {1: ['A', 'B', 'C'], 2: [4, 5], 'Q': 'Prim', 'Stroka': 'Меня зовут: \n Зеленкина К. М.'} | ||||
| 
 | ||||
| >>> dic5=dict(zip(['A','B','C','Stroka'],[16,-3,9,ss1b])); dic5          | ||||
| {'A': 16, 'B': -3, 'C': 9, 'Stroka': 'Меня зовут: \n Зеленкина К. М.'} | ||||
| ``` | ||||
| 
 | ||||
| Создадим свой объект-кортеж и объект-список: | ||||
| 
 | ||||
| ```py | ||||
| >>> spisok01=(1, 5, 7, 9, 3, 0,10); spisok01          | ||||
| (1, 5, 7, 9, 3, 0, 10) | ||||
| >>> spisok02=[22,10,7,45,100]; spisok02              | ||||
| [22, 10, 7, 45, 100] | ||||
| >>>spisok03=dict(zip(spisok01,spisok02)); spisok03              | ||||
| {1: 22, 5: 10, 7: 7, 9: 45, 3: 100} | ||||
| 
 | ||||
| >>> len(spisok03)            | ||||
| 5 #Элементов 5, потому что в spisok02 всего пять элементов | ||||
| ``` | ||||
| 
 | ||||
| Пример словаря с описанием состава студентов, обучающихся на АВТИ: | ||||
| 
 | ||||
| ```py | ||||
| 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             | ||||
| {'линия связи', 'датчик', 'двигатель', 'реле', 'микропроцессор'} | ||||
| 
 | ||||
| >>> mnoz1.remove('линия связи'); mnoz1              | ||||
| {'датчик', 'двигатель', 'реле', 'микропроцессор'} | ||||
| ``` | ||||
| 
 | ||||
| Создадим своё множество: | ||||
| 
 | ||||
| ```py | ||||
| >>> mnoz2={5, 'яблоко', False, (10, 6, 0)}; mnoz2              | ||||
| {False, 5, (10, 6, 0), 'яблоко'} | ||||
| 
 | ||||
| >>> mnoz2.add(100); mnoz2             | ||||
| {False, 100, 5, (10, 6, 0), 'яблоко'} | ||||
| 
 | ||||
| >>> mnoz2.remove('яблоко'); mnoz2              | ||||
| {False, 100, 5, (10, 6, 0)} | ||||
| 
 | ||||
| >>>False in mnoz2             | ||||
| True | ||||
| ``` | ||||
| 
 | ||||
| ## 9. Конец сеанса | ||||
| 
 | ||||
| @ -0,0 +1,40 @@ | ||||
| # Общее контрольное задание | ||||
| 
 | ||||
| Зеленкина Катерина, А-02-23 | ||||
| 
 | ||||
| ## Задание | ||||
| 
 | ||||
| 1. Создать переменную с именем familia и со значением - символьной строкой – своей фами-лией в латинской транскрипции. | ||||
| 2. Создать переменную со значением, совпадающим с первой буквой из familia. | ||||
| 3. Создать переменную с именем sp_kw со значением – списком всей ключевых слов языка Python. | ||||
| 4. Удалите из списка sp_kw значение 'nonlocal'. Выводом списка в командном окне IDLE убе-дитесь, что это значение удалено из списка. | ||||
| 5. Создайте кортеж kort_nam с именами: вашим и еще 3-х студентов из вашей группы. Напи-шите инструкцию, позволяющую убедиться, что тип переменной – это tuple. | ||||
| 6. Напишите инструкцию, добавляющую в kort_nam имена еще двух студентов.  | ||||
| 7. Напишите инструкцию, позволяющую определить, сколько раз в кортеже присутствуют студенты с именем «Дима». | ||||
| 8. Создайте словарь dict_bas, в котором ключами являются русские названия типов перемен-ных, использованных в предыдущих операторах, а значениями – ранее созданные перемен-ные, соответствующие этим типам. | ||||
| 
 | ||||
| 
 | ||||
| ## Решение | ||||
| 
 | ||||
| ```py | ||||
| >>> familia = 'Zelenkina' | ||||
| >>> b = familia[0]; b | ||||
| 'Z' | ||||
| >>> import keyword | ||||
| >>> sp_kw = keyword.kwlist | ||||
| >>> 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'] | ||||
| >>> sp_kw.count('nonlocal') | ||||
| 0 | ||||
| >>> kort_nam = ('Kate', 'Ksenia', 'Nasty', 'Liza') | ||||
| >>> type(kort_nam) | ||||
| <class 'tuple'> | ||||
| >>> kort_nam=kort_nam+('Dana', 'Dima'); kort_nam | ||||
| ('Kate', 'Ksenia', 'Nasty', 'Liza', 'Dana', 'Dima') | ||||
| >>> kort_nam.count('Dima') | ||||
| 1 | ||||
| >>> a=['Строка', 'Список', 'Кортеж'] | ||||
| >>> c = [familia, sp_kw, kort_nam] | ||||
| >>> dict_bas = dict(zip(a, c)); dict_bas | ||||
| {'Строка': 'Zelenkina', 'Список': ['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'], 'Кортеж': ('Kate', 'Ksenia', 'Nasty', 'Liza', 'Dana', 'Dima')} | ||||
| ``` | ||||
| @ -0,0 +1,14 @@ | ||||
| familia = 'Zelenkina' | ||||
| b = familia[0]; b | ||||
| import keyword | ||||
| sp_kw = keyword.kwlist | ||||
| sp_kw.remove('nonlocal') | ||||
| print(sp_kw) | ||||
| sp_kw.count('nonlocal') | ||||
| kort_nam = ('Kate', 'Ksenia', 'Nasty', 'Liza') | ||||
| type(kort_nam) | ||||
| kort_nam=kort_nam+('Dana', 'Dima'); kort_nam | ||||
| kort_nam.count('Dima') | ||||
| a=['Строка', 'Список', 'Кортеж'] | ||||
| c = [familia, sp_kw, kort_nam] | ||||
| dict_bas = dict(zip(a, c)); dict_bas | ||||
| @ -0,0 +1,33 @@ | ||||
| # Индивидуальное контрольное задание по теме 2 | ||||
| 
 | ||||
| Зеленкина Катерина, А-02-23 | ||||
| 
 | ||||
| ## Задание | ||||
| 
 | ||||
| Предполагается выполнить следующие инструкции: | ||||
| ```py  | ||||
| s=(1,2,3,4,5) | ||||
| d=[11,22,33,44,55] | ||||
| sd=(s,d) | ||||
| ``` | ||||
| Объекты каких классов будут созданы в результате их выполнения? Какое значение будет выведено по инструкции: print(sd[1][3]) | ||||
| 
 | ||||
| ## Решение | ||||
| 
 | ||||
| ```py | ||||
| s=(1,2,3,4,5) | ||||
| d=[11,22,33,44,55] | ||||
| sd=(s,d);sd | ||||
| ((1, 2, 3, 4, 5), [11, 22, 33, 44, 55]) | ||||
| ``` | ||||
| Будут созданы два кортежа(s,sd) и один список (d): | ||||
| 
 | ||||
| ```py | ||||
| type(s), type(d), type(sd) | ||||
| (<class 'tuple'>, <class 'list'>, <class 'tuple'>) | ||||
| ``` | ||||
| По инструкции "print(sd[1][3])" будет выведено значение "44": | ||||
| ```py | ||||
| print(sd[1][3]) | ||||
| 44 | ||||
| ``` | ||||
| @ -0,0 +1,697 @@ | ||||
| # Отчёт по теме 3 | ||||
| Зеленкина Катерина Михайловна, А-02-23 | ||||
| 
 | ||||
| ## Пункт 1. Запуск оболочки IDLE | ||||
| 
 | ||||
| Установим рабочий каталог: | ||||
| 
 | ||||
| ```py | ||||
| import os | ||||
| os.chdir(r'C:\Users\user\python-labs\TEMA3') | ||||
| ``` | ||||
| 
 | ||||
| ## Пункт 2. Простые базовые типы объектов. | ||||
| ### Пункт 2.1. Логический тип bool. | ||||
| 
 | ||||
| Воспользумеся функцией __bool__: | ||||
| 
 | ||||
| ```py | ||||
| >>> logiz1=bool(56); logiz1 | ||||
| True | ||||
| >>> logiz2=bool(0); logiz2 | ||||
| False | ||||
| >>> logiz3=bool("Beta"); logiz3 | ||||
| True | ||||
| >>> logiz4=bool(""); logiz4 | ||||
| False | ||||
| ``` | ||||
| 
 | ||||
| ### Пункт 2.2. Преобразование в целое десятичное число. | ||||
| Преобразуем с помощью функции __int__: | ||||
| 
 | ||||
| ```py | ||||
| >>> tt1=int(198.6); tt1 #Отбрасывается дробная часть | ||||
| 198 | ||||
| >>> tt2=int("-76"); tt2 #Число – в строке символов, система по умолчанию - десятичная | ||||
| -76 | ||||
| >>> tt3=int("B",16); tt3 | ||||
| 11 | ||||
| >>> tt4=int("71",8); tt4 | ||||
| 57 | ||||
| tt5=int("98.76"); tt5 | ||||
| Traceback (most recent call last): | ||||
|   File "<pyshell#11>", line 1, in <module> | ||||
|     tt5=int("98.76"); tt5 | ||||
| ValueError: invalid literal for int() with base 10: '98.76' | ||||
| ``` | ||||
| __Пояснение__: Последняя функция выдаёт ошибку, потому что функция int() работает только с целочисленными строками. Для чисел с плавающей точкой нужно сначала использовать float(), а потом преобразовать в целое число. | ||||
| 
 | ||||
| #### Функция float | ||||
| 
 | ||||
| Примеры преобразований: | ||||
| 
 | ||||
| ```py | ||||
| >>> flt1=float(789); flt1 | ||||
| 789.0 | ||||
| >>> flt2=float(-6.78e2); flt2 | ||||
| -678.0 | ||||
| >>> flt3=float("Infinity"); flt3 | ||||
| inf | ||||
| >>> flt4=float("-inf"); flt4 | ||||
| -inf | ||||
| ``` | ||||
| 
 | ||||
| ## Пункт 2.3. Преобразование в другие системы счисления. | ||||
| 
 | ||||
| ```py | ||||
| >>> hh=123 | ||||
| >>> dv1=bin(hh); dv1 | ||||
| '0b1111011' | ||||
| >>> vos1=oct(hh); vos1 | ||||
| '0o173' | ||||
| >>> shs1=hex(hh); shs1 | ||||
| '0x7b' | ||||
| ``` | ||||
| 
 | ||||
| Для проверки выполним обратные преобразования: | ||||
| 
 | ||||
| ```py | ||||
| >>> int(dv1,2) | ||||
| 123 | ||||
| >>> int(vos1,8) | ||||
| 123 | ||||
| >>> int(shs1,16) | ||||
| 123 | ||||
| ``` | ||||
| 
 | ||||
| ## Более сложные базовые типы объектов. | ||||
| ### Пункт 3.1. Преобразование в строку. | ||||
| 
 | ||||
| Воспользуемся функцией __str__: | ||||
| 
 | ||||
| ```py | ||||
| >>> strk1=str(23.6); strk1 | ||||
| '23.6' | ||||
| >>> strk2=str(logiz3); strk2 | ||||
| 'True' | ||||
| >>> strk3=str(["A","B","C"]); strk3 | ||||
| "['A', 'B', 'C']" | ||||
| >>> strk4=str(("A","B","C")); strk4 | ||||
| "('A', 'B', 'C')" | ||||
| >>> strk5=str({"A":1,"B":2,"C":9}); strk5 | ||||
| "{'A': 1, 'B': 2, 'C': 9}" | ||||
| ``` | ||||
| 
 | ||||
| ### Пункт 3.2. Преобразование в список. | ||||
| 
 | ||||
| Воспользуемся функцией __list__: | ||||
| 
 | ||||
| ```py | ||||
| >>> spis1=list("Строка символов"); spis1 #Строка разделяется на символы | ||||
| ['С', 'т', 'р', 'о', 'к', 'а', ' ', 'с', 'и', 'м', 'в', 'о', 'л', 'о', 'в'] | ||||
| 
 | ||||
| >>> spis2=list((124,236,-15,908)); spis2 #Преобразование кортежа в список | ||||
| [124, 236, -15, 908] | ||||
| 
 | ||||
| >>> spis3=list({"A":1,"B":2,"C":9}); spis3 #Преобразование словаря в список | ||||
| ['A', 'B', 'C'] | ||||
| ``` | ||||
| 
 | ||||
| ### Пункт 3.3. Преобразование в кортеж. | ||||
| 
 | ||||
| Воспользуемся функцие __tuple__: | ||||
| ```py | ||||
| kort7=tuple('Строка символов'); kort7 #Преобразование строки символов в кортеж | ||||
| ('С', 'т', 'р', 'о', 'к', 'а', ' ', 'с', 'и', 'м', 'в', 'о', 'л', 'о', 'в') | ||||
| kort8=tuple(spis2); kort8 #Преобразование списка в кортеж  | ||||
| (124, 236, -15, 908) | ||||
| kort9=tuple({"A":1,"B":2,"C":9}); kort9 #Преобразование словаря в кортеж | ||||
| ('A', 'B', 'C') | ||||
| ``` | ||||
| 
 | ||||
| ### Пункт 3.4 Удаление объектов. | ||||
| 
 | ||||
| Воспользуемся функцией __del__: | ||||
| 
 | ||||
| ```py | ||||
| >>> del strk5, kort8 | ||||
| >>> strk5 | ||||
| Traceback (most recent call last): | ||||
|   File "<pyshell#37>", line 1, in <module> | ||||
|     strk5 | ||||
| NameError: name 'strk5' is not defined. Did you mean: 'strk1'? | ||||
| >>> kort8 | ||||
| Traceback (most recent call last): | ||||
|   File "<pyshell#38>", line 1, in <module> | ||||
|     kort8 | ||||
| NameError: name 'kort8' is not defined. Did you mean: 'kort7'? | ||||
| ``` | ||||
| #### Создание своей строки. | ||||
| 
 | ||||
| ```py | ||||
| >>> a = 'Zelenkina K.M.' | ||||
| >>> spisok = list(a); spisok, type(spisok) #Преобразование в список | ||||
| (['Z', 'e', 'l', 'e', 'n', 'k', 'i', 'n', 'a', ' ', 'K', '.', 'M', '.'], <class 'list'>) | ||||
| >>> kort = tuple(spisok); kort; type(kort) #Преобразование в кортеж | ||||
| ('Z', 'e', 'l', 'e', 'n', 'k', 'i', 'n', 'a', ' ', 'K', '.', 'M', '.') | ||||
| <class 'tuple'> | ||||
| >>> str0 = str(kort); str0; type(str0) #Преобразование в строку | ||||
| "('Z', 'e', 'l', 'e', 'n', 'k', 'i', 'n', 'a', ' ', 'K', '.', 'M', '.')" | ||||
| <class 'str'> | ||||
| ``` | ||||
| 
 | ||||
| ## Пункт4. Арифметические операции. | ||||
| ### Пункт 4.1. Сложение и вычитание. | ||||
| 
 | ||||
| ```py | ||||
| >>> 12+7+90 # Сложение целых чисел | ||||
| 109 | ||||
| >>> 5.689e-1 - 0.456 #Вычитание вещественных чисел | ||||
| 0.11289999999999994 | ||||
| >>> 23.6+54 #Сложение вещественного и целого чисел | ||||
| 77.6 | ||||
| >>> 14-56.7+89 # Сложение и вычитание целых и вещественных чисел | ||||
| 46.3 | ||||
| ``` | ||||
| 
 | ||||
| ### Пункт 4.2. Умножение. | ||||
| Умножение вещественного числа на целое число: | ||||
| ```py | ||||
| >>> -6.7*12 | ||||
| -80.4 | ||||
| ``` | ||||
| 
 | ||||
| ### Пункт 4.3. Деление. | ||||
| 
 | ||||
| Результатом деления всегда будет __вещественное число__! | ||||
| ```py | ||||
| >>> -234.5/6 #Деление вещественного числа на целое | ||||
| -39.083333333333336 | ||||
| 
 | ||||
| >>> a=178/45; a; type(a)  #Деление двух целых чисел | ||||
| 3.9555555555555557 | ||||
| <class 'float'> | ||||
| ``` | ||||
| 
 | ||||
| ### Пункт 4.4. Деление с округлением вниз. | ||||
| 
 | ||||
| ```py | ||||
| >>> b=178//45; b; type(b) #Деление двух целых чисел | ||||
| 3 | ||||
| <class 'int'> | ||||
| >>> c=-24.6//12.1; c; type(c) #Деление двух вещественных чисел | ||||
| -3.0 | ||||
| <class 'float'> | ||||
| 
 | ||||
| >>> f = 100//20.5; f; type(f) | ||||
| 4.0 | ||||
| <class 'float'> | ||||
| >>> p= 25.3//9; p; type(p) | ||||
| 2.0 | ||||
| <class 'float'> | ||||
| ``` | ||||
| 
 | ||||
| ## Пункт 4.5. Остаток от деления. | ||||
| 
 | ||||
| ```py | ||||
| >>> 148%33 | ||||
| 16 | ||||
| >>> 12.6%3.8 | ||||
| 1.2000000000000002 | ||||
| 
 | ||||
| >>> 45.3%9 | ||||
| 0.29999999999999716 | ||||
| >>> 70%10.5 | ||||
| 7.0 | ||||
| ``` | ||||
| 
 | ||||
| ## Пункт 4.6. Возведение в степень. | ||||
| 
 | ||||
| ```py | ||||
| >>> 14**3 | ||||
| 2744 | ||||
| >>> e=2.7**3.6; e | ||||
| 35.719843790663525 | ||||
| 
 | ||||
| >>> 2.7**3 | ||||
| 19.683000000000003 | ||||
| >>> 3**2.7 | ||||
| 19.419023519771343 | ||||
| ``` | ||||
| 
 | ||||
| ### Операции с комплексными числами. | ||||
| 
 | ||||
| ```py | ||||
| >>> k=1+2j | ||||
| >>> n=3+4j | ||||
| >>> k+n | ||||
| (4+6j) | ||||
| >>> k-n | ||||
| (-2-2j) | ||||
| >>> k*n | ||||
| (-5+10j) | ||||
| >>> k/n | ||||
| (0.44+0.08j) | ||||
| >>> k//n | ||||
| Traceback (most recent call last): | ||||
|   File "<pyshell#75>", line 1, in <module> | ||||
|     k//n | ||||
| TypeError: unsupported operand type(s) for //: 'complex' and 'complex' | ||||
| >>> k%n | ||||
| Traceback (most recent call last): | ||||
|   File "<pyshell#76>", line 1, in <module> | ||||
|     k%n | ||||
| TypeError: unsupported operand type(s) for %: 'complex' and 'complex' | ||||
| ``` | ||||
| __Вывод:__ к комплексным числа нельзя применять деление с округлением вниз и определения остатка | ||||
| 
 | ||||
| 
 | ||||
| ## Пункт 5. Операции с двоичными представлениями целых чисел.  | ||||
| ### Пункт 5.1. Двоичная инверсия. | ||||
| 
 | ||||
| Значение каждого бита в представлении числа заменяется на противоположное значение (0 на 1, 1 на 0). | ||||
| 
 | ||||
| ```py | ||||
| >>> dv1=9 | ||||
| >>> dv2=~dv1; dv2 | ||||
| -10 | ||||
| ``` | ||||
| 
 | ||||
| ### Пункт 5.2. Двоичное «И» | ||||
| 
 | ||||
| ```py | ||||
| >>> 7&9 | ||||
| 1 | ||||
| >>> 7&8 | ||||
| 0 | ||||
| ``` | ||||
| 
 | ||||
| ### Пункт 5.3. Двоичное «ИЛИ» | ||||
| 
 | ||||
| ```py | ||||
| >>> 7|9 | ||||
| 15 | ||||
| >>> 7|8 | ||||
| 15 | ||||
| >>> 14|5 | ||||
| 15 | ||||
| ``` | ||||
| 
 | ||||
| ### Пункт 5.4. Двоичное «исключающее ИЛИ» | ||||
| 
 | ||||
| ```py | ||||
| >>> 14^5 | ||||
| 11 | ||||
| >>> bin(11) | ||||
| '0b1011' - двоичное | ||||
| ``` | ||||
| 
 | ||||
| В десятичном представлении получилось число «11» | ||||
| 
 | ||||
| ### Пункт 5.5. Сдвиг двоичного представления | ||||
| 
 | ||||
| ```py | ||||
| >>> h=14 | ||||
| >>> bin(h) | ||||
| '0b1110' | ||||
| >>> g=h<<2; g; bin(g) | ||||
| 56 | ||||
| '0b111000' | ||||
| >>> g1=h>>1; g1; bin(g1) | ||||
| 7 | ||||
| '0b111' | ||||
| >>> g2=h>>2; g2; bin(g2) | ||||
| 3 | ||||
| '0b11' | ||||
| ``` | ||||
| 
 | ||||
| Придумала свои два двоичных знака: | ||||
| 
 | ||||
| ```py | ||||
| >>> a = 0b11011011 | ||||
| >>> b = 0b01101101 | ||||
| >>> bin(~a); bin(~b) | ||||
| '-0b11011100' | ||||
| '-0b1101110' | ||||
| >>> bin(a&b) | ||||
| '0b1001001' | ||||
| >>> bin(a|b) | ||||
| '0b11111111' | ||||
| >>> bin(a^b) | ||||
| '0b10110110' | ||||
| >>> n=a<<2; n; bin(n) | ||||
| 876 | ||||
| '0b1101101100' | ||||
| >>> n1=b>>3;n1;bin(n1) | ||||
| 13 | ||||
| '0b1101' | ||||
| ``` | ||||
| 
 | ||||
| ## Пункт 6. Операции при работе с последовательностями | ||||
| ### Пункт 6.1. Конкатенация. | ||||
| __Конкатенация__ - объединение последовательностей. | ||||
| 
 | ||||
| ```py | ||||
| >>> 'Система '+'регулирования' #Объединение строк символов | ||||
| 'Система регулирования' | ||||
| 
 | ||||
| >>> ['abc','de','fg']+['hi','jkl'] #Объединение двух списков | ||||
| ['abc', 'de', 'fg', 'hi', 'jkl'] | ||||
| 
 | ||||
| >>> ('abc','de','fg')+('hi','jkl') #Объединение двух кортежей | ||||
| ('abc', 'de', 'fg', 'hi', 'jkl') | ||||
| ``` | ||||
| 
 | ||||
| ### Пункт 6.2. Повторение. | ||||
| 
 | ||||
| ```py | ||||
| 'ля-'*5 | ||||
| 'ля-ля-ля-ля-ля-' | ||||
| ['ку','-']*3 | ||||
| ['ку', '-', 'ку', '-', 'ку', '-'] | ||||
| ('кис','-')*4 | ||||
| ('кис', '-', 'кис', '-', 'кис', '-', 'кис', '-') | ||||
| ``` | ||||
| 
 | ||||
| Пример. Создание списка со 100 отсчетами сигнала-ступеньки: | ||||
| 
 | ||||
| ```py | ||||
| >>> 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) | ||||
| ``` | ||||
| 
 | ||||
| ### Пункт 6.3 Проверка наличия заданного элемента в последовательности. | ||||
| 
 | ||||
| ```py | ||||
| >>> stroka='Система автоматического управления' | ||||
| >>> 'автомат' in stroka | ||||
| True | ||||
| >>> 'ку' in ['ку','-']*3 | ||||
| True | ||||
| >>> 'ля-' in ('abc', 'de', 'fg', 'hi', 'jkl') | ||||
| False | ||||
| ``` | ||||
| 
 | ||||
| ### Пункт 6.4. Подстановка значений в строку. | ||||
| __Пример1__ | ||||
| 
 | ||||
| ```py | ||||
| >>> stroka='Температура = %g %s  %g' | ||||
| >>> stroka % (16,' меньше ',25) | ||||
| 'Температура = 16  меньше   25' | ||||
| ``` | ||||
| __Пример 2.__ Вставка с использованием данных из словаря. | ||||
| 
 | ||||
| ```py | ||||
| >>> stroka='Температура = %(zn1)g %(sravn)s  %(zn2)g' | ||||
| >>> stroka % {'zn1':16,'sravn':' меньше ','zn2':25} | ||||
| 'Температура = 16  меньше   25' | ||||
| ``` | ||||
| 
 | ||||
| ## Пункт 7.Оператор присваивания | ||||
| ### Пункт 7.1. Обычное присваивание значения переменной (=) | ||||
| 
 | ||||
| ```py | ||||
| >>> zz=-12; zz | ||||
| -12 | ||||
| ``` | ||||
| 
 | ||||
| ### Пункт 7.2. Увеличение (+=) или уменьшение (-=) | ||||
| ```py | ||||
| >>> zz+=5; zz | ||||
| -7 | ||||
| >>> zz-=3;zz | ||||
| -10 | ||||
| ``` | ||||
| Для последовательностей  операция (+=) означает конкатенацию текущего значения объекта с заданным дополнением. | ||||
| 
 | ||||
| ```py | ||||
| >>> stroka='Система' | ||||
| >>> stroka+=' регулирования'; stroka | ||||
| 'Система регулирования' | ||||
| ``` | ||||
| 
 | ||||
| ### Пункт 7.3. Умножение (*=) или деление (/=) | ||||
| 
 | ||||
| ```py | ||||
| >>> zz/=2; zz | ||||
| -5.0 | ||||
| >>> zz*=5; zz | ||||
| -25.0 | ||||
| ``` | ||||
| Для строк операция (*=) означает повторение текущего значения объекта заданное число раз: | ||||
| 
 | ||||
| ```py | ||||
| >>> stroka='Арбуз' | ||||
| >>> stroka*=4; stroka | ||||
| 'АрбузАрбузАрбузАрбуз' | ||||
| ``` | ||||
| ### Пункт 7.4. Операции деления с округлением вниз (//=), получения остатка от деления (%=) и возведения в степень(**=)  | ||||
| 
 | ||||
| ```py | ||||
| >>> zz=10 | ||||
| >>> zz//=4; zz #округление вниз | ||||
| 2 | ||||
| >>> zz%=6; zz #остаток от деления | ||||
| 2 | ||||
| >>> zz**=2;zz #возведение в степень | ||||
| 4 | ||||
| ``` | ||||
| 
 | ||||
| ### Пункт 7.5. Множественное присваивание | ||||
| 
 | ||||
| ```py | ||||
| >>> w=v=10; w; v | ||||
| 10 | ||||
| 10 | ||||
| >>> n1,n2,n3=(11,-3,'all'); n1;n2;n3 | ||||
| 11 | ||||
| -3 | ||||
| 'all' | ||||
| ``` | ||||
| 
 | ||||
| ```py | ||||
| >>> n1,n2,n3='yes'; n1;n2;n3 | ||||
| 'y' | ||||
| 'e' | ||||
| 's' | ||||
| 
 | ||||
| >>> n1,n2,n3=[11,-3,'all']; n1;n2;n3 | ||||
| 11 | ||||
| -3 | ||||
| 'all' | ||||
| 
 | ||||
| >>> n1,n2,n3 = {'a1': 11, 'a2': -3, 'stroke': 'all'}; n1; n2; n3 #берутся ключи | ||||
| 'a1' | ||||
| 'a2' | ||||
| 'stroke' | ||||
| 
 | ||||
| >>> n = {'a1': 11, 'a2': -3, 'a3': 'all'} | ||||
| >>> n1,n2,n3=n.values(); n1;n2;n3 | ||||
| 11 | ||||
| -3 | ||||
| 'all' | ||||
| 
 | ||||
| >>> n1,n2,n3 = {11, -3, 'all'}; n1;n2;n3 | ||||
| 11 | ||||
| 'all' | ||||
| -3 | ||||
| ``` | ||||
| 
 | ||||
| ## Пункт 8. Логические операции  | ||||
| ### Пункт 8.1. Операции сравнение | ||||
| 
 | ||||
| ```py | ||||
| >>> w | ||||
| 10 | ||||
| >>> v | ||||
| 10 | ||||
| >>> w==v | ||||
| True | ||||
| >>> z=8 | ||||
| >>> w!=z | ||||
| True | ||||
| >>> v<z | ||||
| False | ||||
| >>> w>z | ||||
| True | ||||
| >>> v<=z | ||||
| False | ||||
| >>> w>=z | ||||
| True | ||||
| ``` | ||||
| 
 | ||||
| ### Пунтк 8.2. Проверка наличия заданного элемента | ||||
| Операции с множеством: | ||||
| ```py | ||||
| >>> mnoz1={'pen','book','pen','iPhone','table','book'} | ||||
| >>> 'book' in mnoz1 | ||||
| True | ||||
| >>> 'cap' in mnoz1 | ||||
| False | ||||
| ``` | ||||
| 
 | ||||
| Операции со словарем: | ||||
| ```py | ||||
| >>> dic1={'Saratov':145, 'Orel':56, 'Vologda':45} | ||||
| >>>'Vologda' in dic1 | ||||
| True | ||||
| >>> 'Pskov' in dic1 | ||||
| False | ||||
| >>> 56 in dic1.values() | ||||
| True | ||||
| ``` | ||||
| 
 | ||||
| Ещё пример работы со словарем: | ||||
| ```py | ||||
| >>> 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 | ||||
| ``` | ||||
| 
 | ||||
| ### Пункт 8.3. Большие логические выражения | ||||
| 
 | ||||
| ```py | ||||
| >>> a=17 | ||||
| >>> b=-6 | ||||
| >>> (a>=b) and ('book' in mnoz1) and not ('Pskov' in dic1) | ||||
| True | ||||
| ``` | ||||
| Придумала ещё 2 примера: | ||||
| ```py | ||||
| >>> (a>b) and ('Piter' in dic1) and not ('pen' in mnoz1) | ||||
| False | ||||
| >>> not (a==b) and ('table' in mnoz1) and (b<a) | ||||
| True | ||||
| ``` | ||||
| 
 | ||||
| ### Пункт 8.4. Проверка ссылок  | ||||
| 
 | ||||
| ```py | ||||
| >>> w=v=10  | ||||
| >>> w is v | ||||
| True | ||||
| >>> w1=['A','B'] | ||||
| >>> v1=['A','B'] | ||||
| >>> w1 is v1 | ||||
| False  | ||||
| ``` | ||||
| 
 | ||||
| ## Пункт 9. Операции с объектами с помощью методов | ||||
| 
 | ||||
| ```py | ||||
| >>> stroka='Микропроцессорная система управления' #получение полного списка атрибутов | ||||
| >>> dir(stroka) | ||||
| ['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'removeprefix', 'removesuffix', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill'] | ||||
| ``` | ||||
| 
 | ||||
| ### Пункт 9.1. Методы для работы со строками | ||||
| 
 | ||||
| ```py | ||||
| >>> stroka.find('пр')  | ||||
| 5 | ||||
| >>> stroka.count("с") | ||||
| 4 | ||||
| >>> stroka.replace(' у',' автоматического у') | ||||
| 'Микропроцессорная система автоматического управления' | ||||
| >>> spis22=stroka.split(' '); spis22 | ||||
| ['Микропроцессорная', 'система', 'управления'] | ||||
| >>> stroka.upper() | ||||
| 'МИКРОПРОЦЕССОРНАЯ СИСТЕМА УПРАВЛЕНИЯ' | ||||
| >>> stroka3=" ".join(spis22); stroka3 | ||||
| 'Микропроцессорная система управления' | ||||
| >>> stroka3.partition("с") | ||||
| ('Микропроце', 'с', 'сорная система управления') | ||||
| >>> stroka3.rpartition("с")   | ||||
| ('Микропроцессорная си', 'с', 'тема управления') | ||||
| ``` | ||||
| #### Метод format | ||||
| ```py | ||||
| >>> 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' | ||||
| ``` | ||||
| 
 | ||||
| ### 9.2. Методы для работы со списками | ||||
| 
 | ||||
| ```py | ||||
| >>> spsk=[1,10,'bob',['a','b','c'],'hehe']; spsk | ||||
| [1, 10, 'bob', ['a', 'b', 'c'], 'hehe'] | ||||
| >>> spsk.pop(2) | ||||
| 'bob' | ||||
| >>> spsk | ||||
| [1, 10, ['a', 'b', 'c'], 'hehe'] | ||||
| >>> spsk.append('c'); spsk | ||||
| [1, 10, ['a', 'b', 'c'], 'hehe', 'c'] | ||||
| >>> spsk.insert(2,'a'); spsk | ||||
| [1, 10, 'a', ['a', 'b', 'c'], 'hehe', 'c'] | ||||
| >>> spsk.count('a') | ||||
| 1 | ||||
| ``` | ||||
| 
 | ||||
| ### 9.3. Методы с кортежами | ||||
| 
 | ||||
| ```py | ||||
| >>> kor = ('sweets', 56, 'hehe', [3,2,1], 120); kor; type(kor) | ||||
| ('sweets', 56, 'hehe', [3, 2, 1], 120) | ||||
| <class 'tuple'> | ||||
| >>> dir(kor) | ||||
| ['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index'] | ||||
| >>> kor.count('hehe') | ||||
| 1 | ||||
| >>> kor.index(56) | ||||
| 1 | ||||
| >>> kor +=(10, 'home'); kor | ||||
| ('sweets', 56, 'hehe', [3, 2, 1], 120, 10, 'home') | ||||
| >>>type(kor) | ||||
| <class 'tuple'> | ||||
| ``` | ||||
| 
 | ||||
| ### 9.4. Методы со словарями и множествами | ||||
| #### 9.4.1. Методы со словарями | ||||
| 
 | ||||
| ```py | ||||
| sl = {'Gorod':'Moscow', 'Name': 'Katy', 'Age':19}; type(sl) | ||||
| <class 'dict'> | ||||
| dir(sl) | ||||
| ['__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__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'] | ||||
| sl.pop('Gorod') | ||||
| 'Moscow' | ||||
| sl | ||||
| {'Name': 'Katy', 'Age': 19} | ||||
| sl.keys() | ||||
| dict_keys(['Name', 'Age']) | ||||
| sl.items() | ||||
| dict_items([('Name', 'Katy'), ('Age', 19)]) | ||||
| sl.update({'Like': 'eat', 'Money':2000}); sl | ||||
| {'Name': 'Katy', 'Age': 19, 'Like': 'eat', 'Money': 2000} | ||||
| sl.values() | ||||
| dict_values(['Katy', 19, 'eat', 2000]) | ||||
| ``` | ||||
| #### 9.4.2. Методы со множествами | ||||
| 
 | ||||
| ```py | ||||
| >>> mnoch={1,2,3,4,5,'a'} | ||||
| >>> type(mnoch) | ||||
| <class 'set'> | ||||
| >>> mnoch.add('hehe'); mnoch | ||||
| {1, 2, 3, 4, 5, 'a', 'hehe'} | ||||
| >>> mnoch.remove(1);mnoch | ||||
| {2, 3, 4, 5, 'a', 'hehe'} | ||||
| >>> mnoch1={'l','k',60} | ||||
| >>> mnoch2=mnoch.union(mnoch1);mnoch2 | ||||
| {2, 3, 4, 5, 'a', 'k', 'hehe', 60, 'l'} | ||||
| ``` | ||||
| 
 | ||||
| ## Пункт 10. Закончила сеанс работы с IDLE | ||||
| @ -0,0 +1,58 @@ | ||||
| # Общее контрольное задание | ||||
| 
 | ||||
| Зеленкина Катерина, А-02-23 | ||||
| 
 | ||||
| ## Задание | ||||
| 
 | ||||
| Реализовать, записать в текстовый файл и проанализировать результаты последовательности ин-струкций, выполняющих следующие действия: | ||||
| 1. Преобразовать восьмеричное значение 45 в целое число. | ||||
| 2. Создать объект-словарь D со значениями {"усиление":23, "запаздывание":12, "постоянная вре-мени":78} и затем осуществить его преобразование в два списка: ключей и значений, а затем – эти два списка преобразовать в один кортеж. Чем отличается кортеж от списка? | ||||
| 3. Напишите и выполните единое выражение, осуществляющее деление числа 1768 на 24.8 с округлением вниз, с определением после этого остатка от деления получившегося значения на 3 и затем возведения результата в степень 2.4. | ||||
| 4. Напишите и выполните единое выражение, последовательно осуществляющее следующие опе-рации: двоичное И для чисел 13 и 27, инверсия полученного значения, двоичное исключающее ИЛИ для полученного значения и числа 14, сдвиг полученного значения на два разряда влево. | ||||
| 5. Создать список с 4 одинаковыми элементами 'колебат' и написать оператор проверки наличия комбинации символов 'аткол' в результате конкатенации второго и третьего элементов этого списка. | ||||
| 6. Определить список методов, доступных у ранее созданного словаря D. Поочередно использо-вать его методы keys и values, определить, что можно получить с применением этих методов. | ||||
| 7. Создать объект - символьную строку с текстом данного предложения. Из символьной строки создать список, элементами которого будут отдельные слова из созданной строки.  Заменить в списке элемент «-» на «,».  Удалить из списка элемент со значением  «данного». Отобразить получившийся список. | ||||
| 
 | ||||
| ## Решение | ||||
| 
 | ||||
| 
 | ||||
| ```py | ||||
| >>> a='45' | ||||
| >>> int(a,8) | ||||
| 37 | ||||
| 
 | ||||
| >>> D = {"усиление":23, "запаздывание":12, "постоянная вре-мени":78} | ||||
| >>> keys = list(D.keys());keys | ||||
| ['усиление', 'запаздывание', 'постоянная вре-мени'] | ||||
| >>> values = list(D.values()); values | ||||
| [23, 12, 78] | ||||
| 
 | ||||
| >>> M= tuple(keys + values); M | ||||
| ('усиление', 'запаздывание', 'постоянная вре-мени', 23, 12, 78) | ||||
| 
 | ||||
| >>> ((1768 // 24.8) % 3) ** 2.4 | ||||
| 5.278031643091577 | ||||
| 
 | ||||
| >>> ((~(13 & 27)) ^ 14) << 2 | ||||
| -32 | ||||
| 
 | ||||
| >>> sp = ['колебат'] * 4; sp | ||||
| ['колебат', 'колебат', 'колебат', 'колебат'] | ||||
| >>> 'аткол' in sp[1]+sp[2] | ||||
| True | ||||
| 
 | ||||
| >>> D.keys() | ||||
| dict_keys(['усиление', 'запаздывание', 'постоянная вре-мени']) | ||||
| >>> D.values() | ||||
| dict_values([23, 12, 78]) | ||||
| 
 | ||||
| >>> s='Создать объект - символьную строку с текстом данного предложения' | ||||
| >>> s1=s.split();s1 | ||||
| ['Создать', 'объект', '-', 'символьную', 'строку', 'с', 'текстом', 'данного', 'предложения'] | ||||
| 
 | ||||
| >>> s1[s1.index('-')]=','; s1 | ||||
| ['Создать', 'объект', ',', 'символьную', 'строку', 'с', 'текстом', 'данного', 'предложения'] | ||||
| 
 | ||||
| >>> s1.remove('данного');s1 | ||||
| ['Создать', 'объект', ',', 'символьную', 'строку', 'с', 'текстом', 'предложения'] | ||||
| ``` | ||||
| @ -0,0 +1,17 @@ | ||||
| a='45' | ||||
| print(int(a,8)) | ||||
| D = {"усиление":23, "запаздывание":12, "постоянная вре-мени":78} | ||||
| keys = list(D.keys()) | ||||
| print(keys) | ||||
| values = list(D.values()); print(values) | ||||
| M= tuple(keys + values); print(M) | ||||
| print(((1768 // 24.8) % 3) ** 2.4) | ||||
| print(((13 & 27) ^ 14) << 2) | ||||
| sp = ['колебат'] * 4; print(sp) | ||||
| print('аткол' in sp[1]+sp[2]) | ||||
| print(D.keys()) | ||||
| print(D.values()) | ||||
| s='Создать объект - символьную строку с текстом данного предложения' | ||||
| s1=s.split(); print(s1) | ||||
| s1[s1.index('-')]=','; print(s1) | ||||
| s1.remove('данного'); print(s1) | ||||
| @ -0,0 +1,53 @@ | ||||
| # Индивидуальное контрольное задание по теме 2 | ||||
| 
 | ||||
| Зеленкина Катерина, А-02-23 | ||||
| Вариант 8 | ||||
| 
 | ||||
| ## Задание | ||||
| 
 | ||||
| 1. При каких условиях можно создавать программы для среды Python с помощью других текстовых редакторов? Назовите примеры таких редакторов. | ||||
| 2. Создайте объект, содержащий текст задания данного пункта. Создайте новый объект, в который включите из первого объекта только слова, находящиеся на четных позициях. Напишите инструкции определения класса созданного объекта и списка его атрибутов. | ||||
| 3. Создайте кортеж, содержащий слова из итогового созданного объекта в п.2. Напишите инструкции подсчета числа слов и отобразите с использованием формата результат на экране по шаблону: "в кортеже ХХ элементов". | ||||
| 4. Напишите инструкции создания словаря, в котором ключами будут порядковые номера, а значениями - слова из кортежа, созданного в п.3. | ||||
| 5. Преобразуйте значения из словаря во множество. Подсчитайте и выведите на экран число элементов этого множества.  | ||||
| 
 | ||||
| ## Решение | ||||
| #### Пункт 1. | ||||
| 1. Программы для среды Python можно создавать в любых текстовых редакторах при условии сохранения файла с расширением .py. Например: Блокнот, Notepad++ и др. | ||||
| 
 | ||||
| ```py | ||||
| #Пункт 2. | ||||
| 
 | ||||
| >>> text = "Создайте объект, содержащий текст задания данного пункта. Создайте новый объект, в который включите из первого объекта только слова, находящиеся на четных позициях. Напишите инструкции определения класса созданного объекта и списка его атрибутов." | ||||
| 
 | ||||
| >> slova = text.split(); slova | ||||
| ['Создайте', 'объект,', 'содержащий', 'текст', 'задания', 'данного', 'пункта.', 'Создайте', 'новый', 'объект,', 'в', 'который', 'включите', 'из', 'первого', 'объекта', 'только', 'слова,', 'находящиеся', 'на', 'четных', 'позициях.', 'Напишите', 'инструкции', 'определения', 'класса', 'созданного', 'объекта', 'и', 'списка', 'его', 'атрибутов.'] | ||||
| >>> p = slova[1::2] | ||||
| ['объект,', 'текст', 'данного', 'Создайте', 'объект,', 'который', 'из', 'объекта', 'слова,', 'на', 'позициях.', 'инструкции', 'класса', 'объекта', 'списка', 'атрибутов.'] | ||||
| >>> text1 = ' '.join(p); text1 | ||||
| 'объект, текст данного Создайте объект, который из объекта слова, на позициях. инструкции класса объекта списка атрибутов.' | ||||
| 
 | ||||
| >>> type(text1) | ||||
| <class 'str'> | ||||
| >>> dir(text1) | ||||
| ['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'removeprefix', 'removesuffix', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill'] | ||||
| 
 | ||||
| 
 | ||||
| #Пункт 3. | ||||
| >>> cort=tuple(slova); cort | ||||
| ('Создайте', 'объект,', 'содержащий', 'текст', 'задания', 'данного', 'пункта.', 'Создайте', 'новый', 'объект,', 'в', 'который', 'включите', 'из', 'первого', 'объекта', 'только', 'слова,', 'находящиеся', 'на', 'четных', 'позициях.', 'Напишите', 'инструкции', 'определения', 'класса', 'созданного', 'объекта', 'и', 'списка', 'его', 'атрибутов.') | ||||
| >> len(cort) | ||||
| 32 | ||||
| >>> "в кортеже {} элемента".format(len(cort)) | ||||
| 'в кортеже 32 элемента' | ||||
| 
 | ||||
| # Пункт 4.  | ||||
| slovar = dict(zip(range(1, len(cort)+1), cort)); slovar | ||||
| {1: 'Создайте', 2: 'объект,', 3: 'содержащий', 4: 'текст', 5: 'задания', 6: 'данного', 7: 'пункта.', 8: 'Создайте', 9: 'новый', 10: 'объект,', 11: 'в', 12: 'который', 13: 'включите', 14: 'из', 15: 'первого', 16: 'объекта', 17: 'только', 18: 'слова,', 19: 'находящиеся', 20: 'на', 21: 'четных', 22: 'позициях.', 23: 'Напишите', 24: 'инструкции', 25: 'определения', 26: 'класса', 27: 'созданного', 28: 'объекта', 29: 'и', 30: 'списка', 31: 'его', 32: 'атрибутов.'} | ||||
| 
 | ||||
| # Пункт 5. | ||||
| >>> mnoz = set(slovar.values()); mnoz | ||||
| {'находящиеся', 'позициях.', 'на', 'и', 'его', 'текст', 'созданного', 'слова,', 'инструкции', 'объекта', 'в', 'определения', 'задания', 'списка', 'из', 'первого', 'пункта.', 'содержащий', 'включите', 'данного', 'новый', 'который', 'Создайте', 'только', 'четных', 'атрибутов.', 'Напишите', 'объект,', 'класса'} | ||||
| >>> len(mnoz) | ||||
| 29 | ||||
| ``` | ||||
| @ -0,0 +1,12 @@ | ||||
| text = "Создайте объект, содержащий текст задания данного пункта. Создайте новый объект, в который включите из первого объекта только слова, находящиеся на четных позициях. Напишите инструкции определения класса созданного объекта и списка его атрибутов." | ||||
| slova = text.split(); print(slova) | ||||
| p = slova[1::2] | ||||
| text1 = ' '.join(p); print(text1) | ||||
| print(type(text1)) | ||||
| print(dir(text1)) | ||||
| cort=tuple(slova); print(cort) | ||||
| print(len(cort)) | ||||
| print("в кортеже {} элемента".format(len(cort)))  | ||||
| slovar = dict(zip(range(1, len(cort)+1), cort)); print(slovar) | ||||
| mnoz = set(slovar.values()); print(mnoz) | ||||
| print(len(mnoz)) | ||||
| @ -0,0 +1,378 @@ | ||||
| # Отчёт по теме 4 | ||||
| Зеленкина Катерина Михайловна, А-02-23 | ||||
| 
 | ||||
| ## Пункт 1. Запуск IDLE | ||||
| ## Пункт 2. Стандартные функции | ||||
| ### Пункт 2.1. Функция round  | ||||
| __round__ - округление числа с заданной точностью.  | ||||
| 
 | ||||
| ```py | ||||
| >>> help(round) | ||||
| Help on built-in function round in module builtins: | ||||
| 
 | ||||
| round(number, ndigits=None) | ||||
|     Round a number to a given precision in decimal digits. | ||||
| 
 | ||||
|     The return value is an integer if ndigits is omitted or None.  Otherwise | ||||
|     the return value has the same type as the number.  ndigits may be negative. | ||||
| 
 | ||||
| >>> a=round(123.456,1); a; type(a) | ||||
| 123.5 | ||||
| <class 'float'> | ||||
| >>> b=round(123.456,0); b; type(b) | ||||
| 123.0 | ||||
| <class 'float'> | ||||
| ``` | ||||
| __Пояснение:__ Разница только в количестве знаков после запятой в результате (в первом - до 1 десятичного знака, во-втором - до 0), но тип данных одинаковый | ||||
| 
 | ||||
| ```py | ||||
| >>> c=round(123.456); c; type(c) | ||||
| 123 | ||||
| <class 'int'> | ||||
| ``` | ||||
| __Пояснение:__ Произошло округление до целого, и сохранился в "int" | ||||
| 
 | ||||
| ## Пункт 2.2. Функция range  | ||||
| __range__ - создание последовательности целых чисел с заданным шагом или, по умолчанию, с шагом 1. | ||||
| 
 | ||||
| ```py | ||||
| >>> gg=range(76,123,9); gg #генерирует числа с 76 до 123 (пока не будет больше/равно) с шагом 9 | ||||
| range(76, 123, 9) | ||||
| >>> type(gg) | ||||
| <class 'range'> | ||||
| >>> list(gg) | ||||
| [76, 85, 94, 103, 112, 121] | ||||
| >>> range(23) #Будет последовательность от 0 до 22 включительно с шагом 1 | ||||
| range(0, 23) | ||||
| ``` | ||||
| 
 | ||||
| ## Пункт 2.3. Функция zip  | ||||
| __zip__ - создание общего объекта, элементами которого являются кортежи, составленные из  элементов двух или более объектов-последовательностей | ||||
| 
 | ||||
| ```py | ||||
| >>> qq=["Зеленкина", "Криви", "Цветкова", "Коломейцев"] | ||||
| >>> list(gg) | ||||
| [76, 85, 94, 103, 112, 121] | ||||
| >>> ff=zip(gg,qq); ff | ||||
| <zip object at 0x0000020E046D74C0> | ||||
| >>> type(ff) | ||||
| <class 'zip'> | ||||
| >>> tuple(ff) | ||||
| ((76, 'Зеленкина'), (85, 'Криви'), (94, 'Цветкова'), (103, 'Коломейцев')) | ||||
| >>> ff[0] | ||||
| Traceback (most recent call last): | ||||
|   File "<pyshell#175>", line 1, in <module> | ||||
|     ff[0] | ||||
| TypeError: 'zip' object is not subscriptable | ||||
| >>> ff_list= list(zip(gg, qq)); ff_list[0] | ||||
| (76, 'Зеленкина') | ||||
| ``` | ||||
| 
 | ||||
| ### Пункт 2.4. Функция eval  | ||||
| __eval__ - вычисление значения выражения, корректно записанного на языке Python и представленного в виде символьной строки | ||||
| 
 | ||||
| ```py | ||||
| >>> fff=float(input('коэффициент усиления=')); dan=eval('5*fff-156') | ||||
| коэффициент усиления=20 | ||||
| >>> dan | ||||
| -56.0 | ||||
| ``` | ||||
| 
 | ||||
| ### Пункт 2.5. Функция exec | ||||
| 
 | ||||
| __exec__ - чтение и выполнение объекта-аргумента функции. | ||||
| 
 | ||||
| ```py | ||||
| exec(input('введите инструкции:')) | ||||
| введите инструкции:perem=-123.456;gg=round(abs(perem)+98,3) | ||||
| gg | ||||
| 221.456 | ||||
| ``` | ||||
| 
 | ||||
| ### Пункт 2.6. Самостоятельное применение функций | ||||
| 
 | ||||
| ```py | ||||
| >>> abs(-100) | ||||
| 100 | ||||
| 
 | ||||
| >>> pow(5,2) | ||||
| 25 | ||||
| 
 | ||||
| >>> max(1,2,3,4,199, 13) | ||||
| 199 | ||||
| 
 | ||||
| >>> min(4,5,-10,-3,2) | ||||
| -10 | ||||
| 
 | ||||
| >>> sum([4,8,3]) | ||||
| 15 | ||||
| 
 | ||||
| >>> divmod(8,2) | ||||
| (4, 0) | ||||
| 
 | ||||
| >>> len('Привет, друг!') | ||||
| 13 | ||||
| 
 | ||||
| >>> n=[10,20,30,45] | ||||
| >>> map(str,n) | ||||
| <map object at 0x0000020E046CB100> | ||||
| >>> list(map(str,n)) | ||||
| ['10', '20', '30', '45'] | ||||
| ``` | ||||
| ## Пункт 3. Функции из стандартного модуля math  | ||||
| 
 | ||||
| ```py | ||||
| >>> import math | ||||
| >>> dir(math) | ||||
| ['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'cbrt', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'exp2', 'expm1', 'fabs', 'factorial', 'floor', 'fma', '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', 'sumprod', 'tan', 'tanh', 'tau', 'trunc', 'ulp'] | ||||
| >>> help(math.factorial) | ||||
| Help on built-in function factorial in module math: | ||||
| 
 | ||||
| factorial(n, /) | ||||
|     Find n!. | ||||
| 
 | ||||
|     Raise a ValueError if x is negative or non-integral. | ||||
| 
 | ||||
| >>> math.factorial(5) | ||||
| 120 | ||||
| ``` | ||||
| Функции модуля: sin, acos, degrees, radians, exp, log, log10, sqrt, ceil, floor, pi: | ||||
| 
 | ||||
| ```py | ||||
| >>> math.sin(45) | ||||
| 0.8509035245341184 | ||||
| >>> math.acos(0.8509035245341184) | ||||
| 0.553093477052002 | ||||
| >>> math.degrees(180) | ||||
| 10313.240312354817 | ||||
| >>> math.exp(1) | ||||
| 2.718281828459045 | ||||
| >>> math.log(10) | ||||
| 2.302585092994046 | ||||
| >>> math.log(4,2) | ||||
| 2.0 | ||||
| >>> math.log10(10) | ||||
| 1.0 | ||||
| >>> math.sqrt(16) | ||||
| 4.0 | ||||
| >>> math.ceil(10.8) | ||||
| 11 | ||||
| >>> math.ceil(-10.8) | ||||
| -10 | ||||
| >>> math.floor(5.5) | ||||
| 5 | ||||
| >>> math.pi | ||||
| 3.141592653589793 | ||||
| ``` | ||||
| 
 | ||||
| ## Пункт 4. Функции из модуля cmath  | ||||
| Cовокупность функций для работы с комплексными числами. | ||||
| 
 | ||||
| ```py | ||||
| >>> import cmath | ||||
| >>> dir(cmath) | ||||
| ['__doc__', '__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 | ||||
| ``` | ||||
| 
 | ||||
| ## Пункт 5. Стандартный модуль random | ||||
| Cовокупность функций для выполнения операций с псевдослучайными числами и выборками. | ||||
| 
 | ||||
| ```py | ||||
| >>> import random | ||||
| >>> dir(random) | ||||
| ['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', '_ONE', '_Sequence', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_accumulate', '_acos', '_bisect', '_ceil', '_cos', '_e', '_exp', '_fabs', '_floor', '_index', '_inst', '_isfinite', '_lgamma', '_log', '_log2', '_os', '_parse_args', '_pi', '_random', '_repeat', '_sha512', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', 'betavariate', 'binomialvariate', 'choice', 'choices', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'lognormvariate', 'main', 'normalvariate', 'paretovariate', 'randbytes', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate'] | ||||
| >>> help(random.seed) | ||||
| Help on method seed in module random: | ||||
| 
 | ||||
| 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(52) | ||||
| >>> random.random() | ||||
| 0.9783548583709967 | ||||
| >>> random.uniform(1, 5) | ||||
| 1.2180906200418296 | ||||
| >>> random.randint(1, 10) | ||||
| 9 | ||||
| >>> random.gauss(0, 2) | ||||
| -4.744196627534718 | ||||
| >>> a=[15,6,8,10] | ||||
| >>> random.shuffle(a); a | ||||
| [8, 6, 15, 10] | ||||
| >>> random.sample(range(10), 2) | ||||
| [7, 0] | ||||
| >>> random.sample(range(10), 3) | ||||
| [0, 8, 6] | ||||
| >>> random.betavariate(3, 2) | ||||
| 0.7782580563898469 | ||||
| >>> random.gammavariate(3, 2) | ||||
| 7.541042451721967 | ||||
| ``` | ||||
| 
 | ||||
| Создайте список с 4 случайными значениями^ | ||||
| 
 | ||||
| ```py | ||||
| >>> r = [random.uniform(0, 20), random.gauss(13, 33), | ||||
| random.betavariate(5, 15), random.gammavariate(9, 2)]; r | ||||
| [9.981907966137051, 20.964805026393023, 0.13659209100569777, 10.30243231589178] | ||||
| ``` | ||||
| ## Пункт 6. Функции из модуля time | ||||
| Работа с календарем и со временем. | ||||
| 
 | ||||
| ```py | ||||
| >>> import time | ||||
| >>> dir(time) | ||||
| ['_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'altzone', 'asctime', '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'] | ||||
| 
 | ||||
| >>> c1=time.time(); c1 | ||||
| 1759666696.7083006 | ||||
| >>> c2=time.time()-c1; c2 | ||||
| 15.599524736404419 | ||||
| 
 | ||||
| >>> dat=time.gmtime(); dat | ||||
| time.struct_time(tm_year=2025, tm_mon=10, tm_mday=5, tm_hour=12, tm_min=20, tm_sec=10, tm_wday=6, tm_yday=278, tm_isdst=0) | ||||
| >>>dat.tm_mon | ||||
| 10 | ||||
| >>> dat.tm_year | ||||
| 2025 | ||||
| >>> dat.tm_mday | ||||
| 5 | ||||
| >>> dat.tm_hour | ||||
| 12 | ||||
| >>> dat.tm_min | ||||
| 20 | ||||
| >>> dat.tm_sec | ||||
| 10 | ||||
| >>> dat.tm_wday | ||||
| 6 | ||||
| >>> time.localtime() | ||||
| time.struct_time(tm_year=2025, tm_mon=10, tm_mday=5, tm_hour=15, tm_min=23, tm_sec=36, tm_wday=6, tm_yday=278, tm_isdst=0) | ||||
| >>> time.asctime() | ||||
| 'Sun Oct  5 15:23:46 2025' | ||||
| >>> time.ctime() | ||||
| 'Sun Oct  5 15:23:52 2025' | ||||
| >>> time.sleep(3) | ||||
| 
 | ||||
| >>> t=(2025, 10, 5, 15, 23, 36, 6, 278, 0) | ||||
| >>> obj= time.struct_time(t); obj | ||||
| time.struct_time(tm_year=2025, tm_mon=10, tm_mday=5, tm_hour=15, tm_min=23, tm_sec=36, tm_wday=6, tm_yday=278, tm_isdst=0) | ||||
| >>> s=time.mktime(obj);s | ||||
| 1759667016.0 | ||||
| >>> back=time.localtime(s);back | ||||
| time.struct_time(tm_year=2025, tm_mon=10, tm_mday=5, tm_hour=15, tm_min=23, tm_sec=36, tm_wday=6, tm_yday=278, tm_isdst=0) | ||||
| ``` | ||||
| 
 | ||||
| ## Пункт 7. Графические функции | ||||
| 
 | ||||
| ```py | ||||
| >>> import pylab | ||||
| >>> x=list(range(-3,55,4)) | ||||
| >>> t=list(range(15)) | ||||
| >>> pylab.plot(t,x) | ||||
| [<matplotlib.lines.Line2D object at 0x000001FA91846350>] | ||||
| >>> pylab.title('Первый график') | ||||
| Text(0.5, 1.0, 'Первый график') | ||||
| >>> pylab.xlabel('время') | ||||
| Text(0.5, 0, 'время') | ||||
| >>> pylab.ylabel('сигнал') | ||||
| Text(0, 0.5, 'сигнал') | ||||
| >>> pylab.show() | ||||
| ``` | ||||
| 
 | ||||
|  | ||||
| 
 | ||||
| ```py | ||||
| >>> X1=[12,6,8,10,7] | ||||
| >>> X2=[5,7,9,11,13] | ||||
| >>> pylab.plot(X1) | ||||
| [<matplotlib.lines.Line2D object at 0x000001FA92FFED50>] | ||||
| >>> pylab.plot(X2) | ||||
| [<matplotlib.lines.Line2D object at 0x000001FA92FFEE90>] | ||||
| >>> pylab.show() | ||||
| ``` | ||||
| 
 | ||||
|  | ||||
| 
 | ||||
| #### Построение круговой диаграммы | ||||
| 
 | ||||
| ```py | ||||
| >>> region=['Центр','Урал','Сибирь','Юг'] | ||||
| >>> naselen=[65,12,23,17] | ||||
| >>> pylab.pie(naselen,labels=region) | ||||
| ([<matplotlib.patches.Wedge object at 0x000001FA918016A0>, <matplotlib.patches.Wedge object at 0x000001FA9257CB90>, <matplotlib.patches.Wedge object at 0x000001FA9257CF50>, <matplotlib.patches.Wedge object at 0x000001FA9257D1D0>], [Text(-0.191013134139045, 1.0832885038559115, 'Центр'), Text(-0.861328292412156, -0.6841882582231001, 'Урал'), Text(0.04429273995539947, -1.0991078896938387, 'Сибирь'), Text(0.9873750693480946, -0.48486129194837324, 'Юг')]) | ||||
| >>> pylab.show() | ||||
| ``` | ||||
|  | ||||
| 
 | ||||
| #### Гистограммы и столбиковые диаграммы  | ||||
| Построим гистограмму: | ||||
| ```py | ||||
| >>> import matplotlib.pyplot as plt | ||||
| >>> ocenki = [3, 4, 4, 5, 5, 5, 4, 3, 5, 4, 5, 5, 4, 3] | ||||
| >>> plt.hist(ocenki, color='orange', edgecolor='black') | ||||
| (array([3., 0., 0., 0., 0., 5., 0., 0., 0., 6.]), array([3. , 3.2, 3.4, 3.6, 3.8, 4. , 4.2, 4.4, 4.6, 4.8, 5. ]), <BarContainer object of 10 artists>) | ||||
| >>> plt.title('Распределение оценок в классе') | ||||
| Text(0.5, 1.0, 'Распределение оценок в классе') | ||||
| >>> plt.xlabel('Оценки') | ||||
| Text(0.5, 0, 'Оценки') | ||||
| >>> plt.ylabel('Количество учеников') | ||||
| Text(0, 0.5, 'Количество учеников') | ||||
| >>> plt.show() | ||||
| ``` | ||||
|  | ||||
| 
 | ||||
| Построим столбиковую диаграмму: | ||||
| ```py | ||||
| >>> name = ['Пн', 'Вт', 'Ср', 'Чт', 'Пт'] | ||||
| >>> number = [10, 25, 15, 30, 20] | ||||
| >>> plt.bar(name, number, color='skyblue') | ||||
| <BarContainer object of 5 artists> | ||||
| >>> plt.title('Моя диаграмма') | ||||
| Text(0.5, 1.0, 'Моя диаграмма') | ||||
| >>> plt.xlabel('Дни недели') | ||||
| Text(0.5, 0, 'Дни недели') | ||||
| >>> plt.ylabel('Значения') | ||||
| Text(0, 0.5, 'Значения') | ||||
| >>> plt.show() | ||||
| ``` | ||||
|  | ||||
| 
 | ||||
| ## Пункт 8. Состав модуля statistics | ||||
| 
 | ||||
| ```py | ||||
| >>> import statistics | ||||
| >>> g = [45, 50, 55, 60, 65, 70, 75, 80, 85, 200] | ||||
| >>> mean = statistics.mean(g); mean | ||||
| 78.5 | ||||
| >>> mode = statistics.mode(g); mode | ||||
| 45 | ||||
| >>>stdev = statistics.stdev(g); stdev | ||||
| 44.60007473835292 | ||||
| >>> variance = statistics.variance(g); variance | ||||
| 1989.1666666666667 | ||||
| >>> quantiles = statistics.quantiles(g, n=4); quantiles | ||||
| [53.75, 67.5, 81.25] | ||||
| >>> harmonic_mean = statistics.harmonic_mean(g); harmonic_mean | ||||
| 66.96171069719155 | ||||
| ``` | ||||
| 
 | ||||
| ## Пунтк 9. Завершение сеанса IDLE | ||||
| @ -0,0 +1,56 @@ | ||||
| # Общее контрольное задание | ||||
| 
 | ||||
| Зеленкина Катерина, А-02-23 | ||||
| 
 | ||||
| ## Задание | ||||
| 
 | ||||
| Реализовать, записать в текстовый файл и проанализировать результаты последовательности ин-струкций, выполняющих следующие действия: | ||||
| 1. Напишите и исполните единое выражение, реализующее последовательное выполнение следу-ющих операций: вычисление фазы комплексного числа 0.2+0.8j, округление результата до двух знаков после запятой, умножение полученного значения на 20, получение кортежа из двух зна-чений: округленное вниз значение от деления результата на 3 и остатка от этого деления.  | ||||
| 2. Создайте объект класса struct_time с временными параметрами для текущего московского времени. Создайте строку с текущим часом и минутами. | ||||
| 3. Создайте список с элементами – названиями дней недели. Сделайте случайную выборку из это-го списка с тремя днями недели.  | ||||
| 4. Напишите инструкцию случайного выбора числа из последовательности целых чисел от 14 до 32 с шагом 3. | ||||
| 5. Сгенерируйте нормально распределенное число N с математическим ожиданием 15 и стандартным отклонением 4 и округлите его до целого значения. Создайте список с N элементами – случайно выбранными буквами латинского алфавита. | ||||
| 6. Напишите инструкцию для определения временного интервала в минутах, прошедшего с момента предыдущего (из п.2) определения временных параметров. | ||||
| 
 | ||||
| ## Решение | ||||
| 
 | ||||
| ```py | ||||
| >>> import math | ||||
| >>> import cmath | ||||
| >>> import time | ||||
| >>> import random | ||||
| >>> import string | ||||
| >>> import statistics | ||||
| 
 | ||||
| >>> divmod(((round(cmath.phase(0.2+0.8j),2)) * 20),3) | ||||
| (8.0, 2.6000000000000014) | ||||
| 
 | ||||
| >>> msc_time = time.gmtime(time.time() + 3 * 3600);msc_time | ||||
| time.struct_time(tm_year=2025, tm_mon=10, tm_mday=20, tm_hour=10, tm_min=31, tm_sec=45, tm_wday=0, tm_yday=293, tm_isdst=0) | ||||
| >>> hm=(f'{msc_time.tm_hour}:{msc_time.tm_min}'); hm | ||||
| '10:31' | ||||
| 
 | ||||
| 
 | ||||
| >>> wd = ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'] | ||||
| >>> p = random.sample(wd, 3); p | ||||
| ['Суббота', 'Среда', 'Понедельник'] | ||||
| 
 | ||||
| >>> k = list(range(14, 33, 3)); k | ||||
| [14, 17, 20, 23, 26, 29, 32] | ||||
| >>> rand = random.choice(k);rand | ||||
| 14 | ||||
| 
 | ||||
| >>> N = round(random.gauss(15, 4)); N | ||||
| 14 | ||||
| >>> p=random.sample(string.ascii_letters, N); p | ||||
| ['s', 'h', 'd', 'L', 'i', 'C', 'z', 'P', 'k', 'y', 'D', 'l', 'H', 'Z'] | ||||
| 
 | ||||
| >>> c = time.time()+3*3600;c | ||||
| 1760912196.5972443 | ||||
| >>> inter_sec = c - time.mktime(msc_time);inter_sec | ||||
| 11362.597244262695 | ||||
| >>> inter_min = round(inter_sec / 60, 2); inter_min | ||||
| 189.38 | ||||
| ``` | ||||
| 
 | ||||
| 
 | ||||
| @ -0,0 +1,27 @@ | ||||
| import math | ||||
| import cmath | ||||
| import time | ||||
| import random | ||||
| import string | ||||
| import statistics | ||||
| print(divmod(((round(cmath.phase(0.2+0.8j),2)) * 20),3)) | ||||
| msc_time = time.gmtime(time.time() + 3 * 3600);msc_time | ||||
| hm=(f'{msc_time.tm_hour}:{msc_time.tm_min}') | ||||
| print(hm) | ||||
| wd = ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'] | ||||
| p = random.sample(wd, 3); | ||||
| print(p) | ||||
| k = list(range(14, 33, 3)) | ||||
| print(k) | ||||
| rand = random.choice(k) | ||||
| print(rand) | ||||
| N = round(random.gauss(15, 4)) | ||||
| print(N) | ||||
| p=random.sample(string.ascii_letters, N) | ||||
| print(p) | ||||
| c = time.time()+3*3600 | ||||
| print(c) | ||||
| inter_sec = c - time.mktime(msc_time) | ||||
| print(inter_sec) | ||||
| inter_min = round(inter_sec / 60, 2) | ||||
| print(inter_min) | ||||
| @ -0,0 +1,31 @@ | ||||
| # Индивидуальное контрольное задание по теме 4 | ||||
| 
 | ||||
| Зеленкина Катерина, А-02-23 | ||||
| Вариант 4 | ||||
| 
 | ||||
| ## Задание | ||||
| Создайте список с 20 случайными, нормально распределенными (математическое ожидание равно 3400, стандартное отклонение равно 121) числами. Рассчитайте по нему среднее значение и число элементов, значение которых превышает это среднее. | ||||
| 
 | ||||
| ## Решение | ||||
| 
 | ||||
| ```py | ||||
| import random | ||||
| import statistics | ||||
| sps = [] | ||||
| for i in range(20): | ||||
|     a = random.gauss(3400, 121) | ||||
|     sps.append(a)  | ||||
| print('Список: ', sps) | ||||
| sr = statistics.mean(sps) | ||||
| print('Среднее значение: ', sr) | ||||
| i=0 | ||||
| for el in sps: | ||||
|     if el>sr: | ||||
|         i+=1 | ||||
| print('Кол-во элементов больше среднего: ', i) | ||||
| 
 | ||||
| 
 | ||||
| Список:  [3497.797538406104, 3267.084579757765, 3433.5344588585167, 3467.31945703132, 3219.709391355155, 3319.3524633811053, 3247.9415423402065, 3396.8815287460775, 3510.7463491419835, 3307.80163577245, 3277.148366159288, 3409.7495053002212, 3474.074399355259, 3471.4930101011246, 3433.352490022768, 3509.521992706484, 3145.302863435359, 3359.933986462906, 3455.6657952685296, 3525.085510243645] | ||||
| Среднее значение:  3386.4748431923135 | ||||
| Кол-во элементов больше среднего:  12 | ||||
| ``` | ||||
| @ -0,0 +1,14 @@ | ||||
| import random | ||||
| import statistics | ||||
| sps = [] | ||||
| for i in range(20): | ||||
|     a = random.gauss(3400, 121) | ||||
|     sps.append(a)  | ||||
| print('Список: ', sps) | ||||
| sr = statistics.mean(sps) | ||||
| print('Среднее значение: ', sr) | ||||
| i=0 | ||||
| for el in sps: | ||||
|     if el>sr: | ||||
|         i+=1 | ||||
| print('Кол-во элементов больше среднего: ', i) | ||||
| После Ширина: | Высота: | Размер: 51 KiB | 
| После Ширина: | Высота: | Размер: 60 KiB | 
| После Ширина: | Высота: | Размер: 33 KiB | 
| После Ширина: | Высота: | Размер: 40 KiB | 
| После Ширина: | Высота: | Размер: 29 KiB |