Сравнить коммиты
40 Коммитов
| Автор | SHA1 | Дата |
|---|---|---|
|
|
92a69fd383 | 6 дней назад |
|
|
ef05471dd5 | 6 дней назад |
|
|
8630088eae | 6 дней назад |
|
|
2493af9e5a | 6 дней назад |
|
|
7cb8db28ae | 1 неделю назад |
|
|
e53857626a | 1 неделю назад |
|
|
e68f479a74 | 1 неделю назад |
|
|
b302cae4ba | 1 неделю назад |
|
|
050c01ed6b | 2 недель назад |
|
|
2067717de8 | 2 недель назад |
|
|
7b8712fe15 | 2 недель назад |
|
|
bcfcc098ee | 2 недель назад |
|
|
b3c7845a7d | 2 недель назад |
|
|
7f8113a80f | 2 недель назад |
|
|
51e2991ea5 | 2 недель назад |
|
|
996cfa37c7 | 2 недель назад |
|
|
d8fa6aefc0 | 3 недель назад |
|
|
4fcfc05b90 | 3 недель назад |
|
|
b752ce3d43 | 3 недель назад |
|
|
6a90705428 | 1 месяц назад |
|
|
aac80a357d | 1 месяц назад |
|
|
94230cfb9a | 1 месяц назад |
|
|
ddefd2a5d1 | 1 месяц назад |
|
|
079783b0b7 | 1 месяц назад |
|
|
0e2110e88d | 1 месяц назад |
|
|
e81ff870ae | 2 месяцев назад |
|
|
f8f6c6dd78 | 2 месяцев назад |
|
|
178987635a | 2 месяцев назад |
|
|
7fd68e7fdd | 2 месяцев назад |
|
|
5fd0222ee0 | 2 месяцев назад |
|
|
5896f91e62 | 2 месяцев назад |
|
|
1beba6ffb4 | 2 месяцев назад |
|
|
4db37a45f8 | 2 месяцев назад |
|
|
20c590726d | 2 месяцев назад |
|
|
ed2e34766b | 2 месяцев назад |
|
|
33df3cf768 | 2 месяцев назад |
|
|
118116fceb | 2 месяцев назад |
|
|
27d4d92105 | 2 месяцев назад |
|
|
337c64ae50 | 2 месяцев назад |
|
|
7ef51237d8 | 2 месяцев назад |
@ -0,0 +1,6 @@
|
||||
#Программа по Теме 1 Кузьменко Елена Алексеевна
|
||||
print('Hello')
|
||||
h=input('Your name=')
|
||||
import os
|
||||
os.chdir(r"C:\Users\u522-15\Desktop\python-labs\TEMA1")
|
||||
os.getcwd()
|
||||
@ -0,0 +1,33 @@
|
||||
# Протокол по Теме 1 Кузьменко Елена Алексеевна
|
||||
|
||||
Python 3.11.5 (tags/v3.11.5:cce6ba9, Aug 24 2023, 14:38:34) [MSC v.1936 64 bit (AMD64)] on win32
|
||||
Type "help", "copyright", "credits" or "license()" for more information.
|
||||
import os
|
||||
os.chdir('C:\Users\u522-15\Desktop\python-labs\TEMA1')
|
||||
SyntaxError: incomplete input
|
||||
os.chdir(r"C:\Users\u522-15\Desktop\python-labs\TEMA1")
|
||||
|
||||
|
||||
|
||||
os.chdir(r"C:\Users\u522-15\Desktop\python-labs\TEMA1")
|
||||
os.getcwd()
|
||||
'C:\\Users\\u522-15\\Desktop\\python-labs\\TEMA1'
|
||||
import os
|
||||
os.chdir(r"C:\Users\u522-15\Desktop\python-labs\TEMA1")
|
||||
os.getcwd()
|
||||
'C:\\Users\\u522-15\\Desktop\\python-labs\\TEMA1'
|
||||
# test
|
||||
|
||||
========== RESTART: C:/Users/u522-15/Desktop/python-labs/TEMA1/p 10.py =========
|
||||
Hello
|
||||
Your name=Lena
|
||||
import Pr0
|
||||
Hello
|
||||
Your name=Lena
|
||||
|
||||
========== RESTART: C:/Users/u522-15/Desktop/python-labs/TEMA1/Pr0.py ==========
|
||||
Hello
|
||||
Your name=Lena
|
||||
import prb1
|
||||
Как Вас зовут? Лена
|
||||
Привет, Лена
|
||||
@ -0,0 +1,6 @@
|
||||
#Программа по Теме 1 Кузьменко Елена Алексеевна
|
||||
print('Hello')
|
||||
h=input('Your name=')
|
||||
import os
|
||||
os.chdir(r"C:\Users\u522-15\Desktop\python-labs\TEMA1")
|
||||
os.getcwd()
|
||||
|
После Ширина: | Высота: | Размер: 8.1 KiB |
|
После Ширина: | Высота: | Размер: 4.6 KiB |
|
После Ширина: | Высота: | Размер: 12 KiB |
|
После Ширина: | Высота: | Размер: 14 KiB |
|
После Ширина: | Высота: | Размер: 40 KiB |
|
После Ширина: | Высота: | Размер: 1.9 KiB |
|
После Ширина: | Высота: | Размер: 112 KiB |
|
После Ширина: | Высота: | Размер: 150 KiB |
|
После Ширина: | Высота: | Размер: 65 KiB |
|
После Ширина: | Высота: | Размер: 18 KiB |
|
После Ширина: | Высота: | Размер: 19 KiB |
|
После Ширина: | Высота: | Размер: 14 KiB |
|
После Ширина: | Высота: | Размер: 50 KiB |
|
После Ширина: | Высота: | Размер: 63 KiB |
|
После Ширина: | Высота: | Размер: 50 KiB |
|
После Ширина: | Высота: | Размер: 26 KiB |
|
После Ширина: | Высота: | Размер: 9.6 KiB |
|
После Ширина: | Высота: | Размер: 30 KiB |
|
После Ширина: | Высота: | Размер: 17 KiB |
|
После Ширина: | Высота: | Размер: 24 KiB |
|
После Ширина: | Высота: | Размер: 6.9 KiB |
@ -0,0 +1,239 @@
|
||||
# Отчёт по Теме 1
|
||||
|
||||
Кузьменко Елена, А-02-23
|
||||
|
||||
## 1 пункт
|
||||
|
||||
С сервера git склонировали папку "python-labs", в которой находится папка TEMA1 для дальнейшей работы
|
||||
|
||||

|
||||
|
||||
## 2 пункт
|
||||
|
||||
Открыта для выполнения ЛР1 программа-интерпетатор.
|
||||
|
||||

|
||||
|
||||
## 3 пункт
|
||||
|
||||
В диалогов окне введём инструкцию print('Hello'). Получим соответствующей текст:
|
||||
|
||||
```py
|
||||
>>> print('Hello')
|
||||
Hello
|
||||
```
|
||||
|
||||
## 4 пункт
|
||||
|
||||
Воспользуемся ещё одной командой-инструкцией. После введения команды на следующей строчке можно написать имя.
|
||||
|
||||
```py
|
||||
>>> h=input('Your name=')
|
||||
Your name=Lena
|
||||
```
|
||||
|
||||
## 5 пункт
|
||||
|
||||
С помощью следующей команды завершим работу в консоли:
|
||||
|
||||
```py
|
||||
exit()
|
||||
```
|
||||
|
||||
После введённой команды можно заметить, что диалоговое окно закрылось.
|
||||
|
||||
## 6 пункт
|
||||
|
||||
Работу с интерактивной графической оболочкой IDLE. Запустим:
|
||||
|
||||

|
||||
|
||||
## 7-8 пункты
|
||||
|
||||
Было изучено главное командное окно среды.
|
||||
|
||||
Следующей инструкцией зададим рабочий каталог:
|
||||
|
||||
```py
|
||||
>>>import os
|
||||
>>>os.chdir(r"C:\Users\u522-15\Desktop\python-labs\TEMA1")
|
||||
>>>os.getcwd()
|
||||
'C:\\Users\\u522-15\\Desktop\\python-labs\\TEMA1'
|
||||
```
|
||||
|
||||
## 9 пункт
|
||||
|
||||
С помощью настройки диалового окна поменяем оформление, а именно шрифт, размер окна и "цвет комментария"
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
После применения изменений в командной строке можно заметить изменения:
|
||||
|
||||

|
||||
|
||||
## 10 пункт
|
||||
|
||||
Откроем окно текстового редактора:
|
||||
|
||||

|
||||
|
||||
Тут же попробуем записать те же команды, которые мы упоминали в предыдущих пунктах:
|
||||
|
||||

|
||||
|
||||
Чтобы активировать выполнения нашего кода, необходимо прибегнуть к одному из способов:
|
||||
1)Кнопка Run Modelu
|
||||
2)Та же кнопка, но по горячей клавише F5
|
||||
|
||||
Это позволит за один запуск применить сразу все команды. Выполнение представлено в консоли:
|
||||
|
||||
```py
|
||||
========== RESTART: C:/Users/u522-15/Desktop/python-labs/TEMA1/p 10.py =========
|
||||
Hello
|
||||
Your name=Lena
|
||||
```
|
||||
|
||||
Можно также воспользоваться и другим способом. Для этого впишем название файла с нашим сохранённым кодом:
|
||||
|
||||
```py
|
||||
>>>import Pr0
|
||||
Hello
|
||||
Your name=Lena
|
||||
```
|
||||
|
||||
## 11 пункт
|
||||
|
||||
С помощью команды import из текущего каталога откроем файл prb1.py
|
||||
|
||||
```py
|
||||
>>>import prb1
|
||||
Как Вас зовут? Лена
|
||||
Привет, Лена
|
||||
```
|
||||
Код представлял собой вопрос "Как Вас зовут?"
|
||||
|
||||
В данном примере было изучено применения предыдущих команд путём их редактиварония
|
||||
|
||||
## 12 пункт
|
||||
|
||||
Попробуем в диалоговом окне открыть файл иного расширения, который представляет из себя результат работы компилятора.
|
||||
|
||||

|
||||
|
||||
Хаотичный набор символов, представленный на картинке, можно сочесть за ошибку, так как редактор открывает файл и ожидает текст, однако файл формата .pyc содержит двоичные данные(представляет из себя байт код), то есть каждый байт, который пытается прочитать машина превращаются в случайные символы.
|
||||
Из чего можно сделать вывод, что файл.pyc уже скомпилированный байт-код(легче и эффективнее интепретировать), а не текст, который должен прочитать редактор IDLE.
|
||||
|
||||
|
||||
## 13 пункт
|
||||
|
||||
Все данные из командной строки были занесены в текстовый редактор. Файл используется как протокол.
|
||||
|
||||

|
||||
|
||||
## 14 пункт
|
||||
|
||||
Изучение раздела помощи Help. Его вариации:
|
||||
|
||||
1.В диалогово окне:
|
||||
|
||||

|
||||
|
||||
2.В командной строке введём инструкцию помощи по команде 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.
|
||||
```
|
||||
|
||||
3)С помощью клавиши F1 можно перейти на следующий сайт:
|
||||
|
||||

|
||||
|
||||
Перейдя по ссылке Index перейдём в поисковик функций и найдём команду: print() (built-in function)
|
||||
|
||||

|
||||
|
||||
Здесь можно посмотреть справку:
|
||||
|
||||

|
||||
|
||||
В окне пункта 1) также можно открть сайт по кнопке Python Docs.
|
||||
|
||||
## 15 пункт
|
||||
|
||||
1.Открыли и прогнали файл prb1.py
|
||||
|
||||

|
||||
|
||||
2.По такому же принципу проверили файл Pr0.py
|
||||
|
||||

|
||||
|
||||
3.Запустим файл tdemo_chaos.py
|
||||
|
||||

|
||||
|
||||
Можно менять демонстрацию графического модуля, вот несколько вариантов:
|
||||
|
||||
1)Clock
|
||||
|
||||

|
||||
|
||||
2)Tree
|
||||
|
||||

|
||||
|
||||
3)Peace
|
||||
|
||||

|
||||
|
||||
## 16 пункт
|
||||
|
||||
Завершение работы со средой exit().
|
||||
|
||||
@ -0,0 +1,20 @@
|
||||
## Общий контрольный вопрос по Теме 1
|
||||
|
||||
Кузьменко Елена, А-02-23
|
||||
|
||||
## Вопрос
|
||||
|
||||
4)Можно ли писать несколько инструкций в одной строке командного окна?
|
||||
|
||||
## Ответ
|
||||
|
||||
Можно, в случае, если команды разделены точкой с запятой. В данной лабораторной работе был пример(п.14), когда необходимо было найти справку по функция print(), input().
|
||||
Был введён следующий код:
|
||||
|
||||
```py
|
||||
>>>help(print); help(input)
|
||||
```
|
||||
|
||||
Результат данной строчки вывел справку данных инструкций по порядку.
|
||||
|
||||
## Итог: Можно, используя ";".
|
||||
@ -0,0 +1,454 @@
|
||||
#Протокол по Теме 2 Кузьменко Е.А.
|
||||
|
||||
#1
|
||||
>>> import os
|
||||
>>> os.chdir(r"C:\Users\Admin\Desktop\python-labs\TEMA2")
|
||||
>>> os.getcwd()
|
||||
'C:\\Users\\Admin\\Desktop\\python-labs\\TEMA2'
|
||||
|
||||
#2
|
||||
>>> f1=16; f2=3
|
||||
>>> f1,f2
|
||||
(16, 3)
|
||||
>>> f1;f2
|
||||
16
|
||||
3
|
||||
>>> dir()
|
||||
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'f1', 'f2', 'os']
|
||||
>>> dir(f1)
|
||||
['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__gt__', '__hash__', '__index__', '__init__', '__init_subclass__', '__int__', '__invert__', '__le__', '__lshift__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__round__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'as_integer_ratio', 'bit_length', 'conjugate', 'denominator', 'from_bytes', 'imag', 'numerator', 'real', 'to_bytes']
|
||||
>>> type(f1)
|
||||
<class 'int'>
|
||||
>>> del f1
|
||||
>>> del f2
|
||||
>>> dir(f1)
|
||||
Traceback (most recent call last):
|
||||
File "<pyshell#12>", line 1, in <module>
|
||||
dir(f1)
|
||||
NameError: name 'f1' is not defined
|
||||
>>> dir()
|
||||
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'os']
|
||||
|
||||
#3
|
||||
>>> gg1=1.6; gg1
|
||||
1.6
|
||||
>>> hh1='Строка'; hh1
|
||||
'Строка'
|
||||
>>> 73sr=3; 73sr
|
||||
SyntaxError: invalid syntax
|
||||
>>> and=7; and
|
||||
SyntaxError: invalid syntax
|
||||
|
||||
#4
|
||||
>>> import keyword
|
||||
>>> keyword.kwlist
|
||||
['False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
|
||||
>>> key=keyword.kwlist
|
||||
>>> key
|
||||
['False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
|
||||
>>> type(key)
|
||||
<class 'list'>
|
||||
|
||||
#5
|
||||
>>> import builtins
|
||||
>>> dir(builtins)
|
||||
['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BlockingIOError', 'BrokenPipeError', 'BufferError', 'BytesWarning', 'ChildProcessError', 'ConnectionAbortedError', 'ConnectionError', 'ConnectionRefusedError', 'ConnectionResetError', 'DeprecationWarning', 'EOFError', 'Ellipsis', 'EnvironmentError', 'Exception', 'False', 'FileExistsError', 'FileNotFoundError', 'FloatingPointError', 'FutureWarning', 'GeneratorExit', 'IOError', 'ImportError', 'ImportWarning', 'IndentationError', 'IndexError', 'InterruptedError', 'IsADirectoryError', 'KeyError', 'KeyboardInterrupt', 'LookupError', 'MemoryError', 'ModuleNotFoundError', 'NameError', 'None', 'NotADirectoryError', 'NotImplemented', 'NotImplementedError', 'OSError', 'OverflowError', 'PendingDeprecationWarning', 'PermissionError', 'ProcessLookupError', 'RecursionError', 'ReferenceError', 'ResourceWarning', 'RuntimeError', 'RuntimeWarning', 'StopAsyncIteration', 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError', 'SystemExit', 'TabError', 'TimeoutError', 'True', 'TypeError', 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning', 'ValueError', 'Warning', 'WindowsError', 'ZeroDivisionError', '_', '__build_class__', '__debug__', '__doc__', '__import__', '__loader__', '__name__', '__package__', '__spec__', 'abs', 'all', 'any', 'ascii', 'bin', 'bool', 'breakpoint', 'bytearray', 'bytes', 'callable', 'chr', 'classmethod', 'compile', 'complex', 'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit', 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'map', 'max', 'memoryview', 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print', 'property', 'quit', 'range', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars', 'zip']
|
||||
>>> help(abs)
|
||||
Help on built-in function abs in module builtins:
|
||||
|
||||
abs(x, /)
|
||||
Return the absolute value of the argument.
|
||||
|
||||
>>> abs(13-40)
|
||||
27
|
||||
>>> help(len)
|
||||
Help on built-in function len in module builtins:
|
||||
|
||||
len(obj, /)
|
||||
Return the number of items in a container.
|
||||
|
||||
>>> len("2932")
|
||||
4
|
||||
>>> len(key)
|
||||
36
|
||||
>>> 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 arguments, return the largest argument.
|
||||
|
||||
>>> max(0,19,20,-2,200,-1012,99,134)
|
||||
200
|
||||
>>> max("в", "з", "щ", "я")
|
||||
'я'
|
||||
>>> 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 arguments, return the smallest argument.
|
||||
|
||||
>>> min(0,19,20,-2,200,-1012,99,134)
|
||||
-1012
|
||||
>>> min("в", "з", "щ", "я")
|
||||
'в'
|
||||
>>> 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(2,3)
|
||||
8
|
||||
>>> pow(2,3,3)
|
||||
2
|
||||
>>> pow(4,-3)
|
||||
0.015625
|
||||
>>> 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(123.456)
|
||||
123
|
||||
>>> round(123.456,1)
|
||||
123.5
|
||||
>>> round(123.456,-1)
|
||||
120.0
|
||||
>>> 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.
|
||||
|
||||
>>> n=[-10,8,2,-3,5.5]
|
||||
>>> sorted(n)
|
||||
[-10, -3, 2, 5.5, 8]
|
||||
>>> sorted(n,reverse=True)
|
||||
[8, 5.5, 2, -3, -10]
|
||||
>>> w=["apple","banana","kiwi","strawberry"]
|
||||
>>> sorted(w)
|
||||
['apple', 'banana', 'kiwi', 'strawberry']
|
||||
>>> sorted(w,reverse=True)
|
||||
['strawberry', 'kiwi', 'banana', 'apple']
|
||||
>>> help(zip)
|
||||
Help on class zip in module builtins:
|
||||
|
||||
class zip(object)
|
||||
| zip(*iterables) --> A zip object yielding tuples until an input is exhausted.
|
||||
|
|
||||
| >>> list(zip('abcdefg', range(3), range(4)))
|
||||
| [('a', 0, 0), ('b', 1, 1), ('c', 2, 2)]
|
||||
|
|
||||
| The zip object yields n-length tuples, where n is the number of iterables
|
||||
| passed as positional arguments to zip(). The i-th element in every tuple
|
||||
| comes from the i-th iterable argument to zip(). This continues until the
|
||||
| shortest argument is exhausted.
|
||||
|
|
||||
| Methods defined here:
|
||||
|
|
||||
| __getattribute__(self, name, /)
|
||||
| Return getattr(self, name).
|
||||
|
|
||||
| __iter__(self, /)
|
||||
| Implement iter(self).
|
||||
|
|
||||
| __next__(self, /)
|
||||
| Implement next(self).
|
||||
|
|
||||
| __reduce__(...)
|
||||
| Return state information for pickling.
|
||||
|
|
||||
| ----------------------------------------------------------------------
|
||||
| Static methods defined here:
|
||||
|
|
||||
| __new__(*args, **kwargs) from builtins.type
|
||||
| Create and return a new object. See help(type) for accurate signature.
|
||||
|
||||
>>> list1=[1,2,3];list2=['a','b','c']
|
||||
>>> z=zip(list1,list2)
|
||||
>>> list(z)
|
||||
[(1, 'a'), (2, 'b'), (3, 'c')]
|
||||
>>> list3=[4,5,6]
|
||||
>>> list(zip(list1,list2,list3))
|
||||
[(1, 'a', 4), (2, 'b', 5), (3, 'c', 6)]
|
||||
|
||||
#6
|
||||
>>> Gg1=45
|
||||
>>> gg1
|
||||
1.6
|
||||
|
||||
#7
|
||||
#7.1
|
||||
>>> bb1=True; bb2=False
|
||||
>>> bb1;bb2
|
||||
True
|
||||
False
|
||||
>>> type(bb1)
|
||||
<class 'bool'>
|
||||
#7.2
|
||||
>>> ii1=-1234567890;ii1;type(ii1)
|
||||
-1234567890
|
||||
<class 'int'>
|
||||
>>> ff1=-8.9876e-12;ff1;type(ff1)
|
||||
-8.9876e-12
|
||||
<class 'float'>
|
||||
>>> dv1=0b1101010;dv1;type(dv1)
|
||||
106
|
||||
<class 'int'>
|
||||
>>> vsm1=0o52765;vsm1;type(vsm1)
|
||||
22005
|
||||
<class 'int'>
|
||||
>>> shest1=0x7109af6;shest1;type(shest1)
|
||||
118528758
|
||||
<class 'int'>
|
||||
>>> cc1=2-3j;cc1;type(cc1)
|
||||
(2-3j)
|
||||
<class 'complex'>
|
||||
>>> a=3.67;b=-0.45;cc2=complex(a,b);cc2;type(cc2)
|
||||
(3.67-0.45j)
|
||||
<class 'complex'>
|
||||
#7.3
|
||||
>>> ss1='Это - строка символов';ss1
|
||||
'Это - строка символов'
|
||||
>>> ss1="Это - строка символов";ss1
|
||||
'Это - строка символов'
|
||||
>>> ss1a="Это - \" строка символов \", \n \t выводимая на двух сторонах"; print(ss1a)
|
||||
Это - " строка символов ",
|
||||
выводимая на двух сторонах
|
||||
>>> ss1b='Меня зовут: \n Кузьменко Е.А.'; print(ss1b)
|
||||
Меня зовут:
|
||||
Кузьменко Е.А.
|
||||
>>> mnogo="""Нетрудно заметить, что в результате операции над числами разных типов получается число, имеющее более сложный тип из тех, которые учавствуют в операции."""; print(mnogo)
|
||||
Нетрудно заметить, что в результате операции над числами разных типов получается число, имеющее более сложный тип из тех, которые учавствуют в операции.
|
||||
>>> ss1
|
||||
'Это - строка символов'
|
||||
>>> ss1[0]
|
||||
'Э'
|
||||
>>> ss1[8]
|
||||
'р'
|
||||
>>> ss1[-2]
|
||||
'о'
|
||||
>>> ss1[6:9]
|
||||
'стр'
|
||||
>>> ss1[13:]
|
||||
'символов'
|
||||
>>> ss1[:13]
|
||||
'Это - строка '
|
||||
>>> ss1[5:-8]
|
||||
' строка '
|
||||
>>> ss1[3:17:2]
|
||||
' тоасм'
|
||||
>>> ss1[4]='='
|
||||
Traceback (most recent call last):
|
||||
File "<pyshell#120>", line 1, in <module>
|
||||
ss1[4]='='
|
||||
TypeError: 'str' object does not support item assignment
|
||||
>>> ss1=ss1[:4]+'='+ss1[5:];ss1
|
||||
'Это = строка символов'
|
||||
#Примеры с ss1b
|
||||
>>> print(ss1b)
|
||||
Меня зовут:
|
||||
Кузьменко Е.А.
|
||||
>>> ss1b
|
||||
'Меня зовут: \n Кузьменко Е.А.'
|
||||
>>> ss1b[0]
|
||||
'М'
|
||||
>>> ss1b[14:]
|
||||
'Кузьменко Е.А.'
|
||||
>>> ss1b[0:15:3]
|
||||
'Мяот\n'
|
||||
>>> ss1b1=ss1b[:10]+' : \n'+ss1b[14:];print(ss1b1)
|
||||
Меня зовут :
|
||||
Кузьменко Е.А.
|
||||
#Объекты разных типов
|
||||
>>> x1=6-24j;x1;type(x1)
|
||||
(6-24j)
|
||||
<class 'complex'>
|
||||
>>> x2=0.14e-13;x2;type(x2)
|
||||
1.4e-14
|
||||
<class 'float'>
|
||||
>>> x3=0b0101;x3;type(x3)
|
||||
5
|
||||
<class 'int'>
|
||||
>>> x4=True;x4;type(x4)
|
||||
True
|
||||
<class 'bool'>
|
||||
>>> x5=None;x5;type(x5)
|
||||
<class 'NoneType'>
|
||||
|
||||
#8
|
||||
#8.1
|
||||
>>> spis1=[111,'Spisok',(5-9j)];spis1
|
||||
[111, 'Spisok', 5-9j]
|
||||
>>> 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]
|
||||
>>> spis1[-1]
|
||||
(5-9j)
|
||||
>>> stup[-8::2] #Начииная от 8 элемента с конца и заканчивая последним значением с шагом 2
|
||||
[0, 1, 1, 1]
|
||||
>>> spis1[1]='Список';spis1
|
||||
[111, 'Список', (5-9j)]
|
||||
>>> len(spis1)
|
||||
3
|
||||
#Методы добавления и удаления объекта
|
||||
>>> dir()
|
||||
['Gg1', '__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'a', 'b', 'bb1', 'bb2', 'builtins', 'cc1', 'cc2', 'dv1', 'f', 'ff1', 'gg1', 'hh1', 'ii1', 'key', 'keyword', 'list1', 'list2', 'list3', 'mnogo', 'n', 'os', 'rating', 'shest1', 'spis', 'spis1', 'ss1', 'ss1a', 'ss1b', 'ss1b1', 'students', 'stup', 'vsm1', 'w', 'x1', 'x2', 'x3', 'x4', 'x5', 'z', 'z1']
|
||||
>>> 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+['New item'];spis1 #Только отображается!
|
||||
[111, 'Список', (5-9j), 'New item', 'New item']
|
||||
[111, 'Список', (5-9j), 'New item']
|
||||
>>> spis1.pop(1)
|
||||
'Список'
|
||||
>>> spis1
|
||||
[111, (5-9j), 'New item']
|
||||
>>> spis1.append(ss1b);print(spis1)
|
||||
[111, (5-9j), 'New item', 'Меня зовут: \n Кузьменко Е.А.']
|
||||
#Другие методы
|
||||
>>> spis1.insert(3,'Новый объект');spis1 #Вставляет объект на указанную позицию
|
||||
[111, (5-9j), 'New item', 'Новый объект', 'Меня зовут: \n Кузьменко Е.А.']
|
||||
>>> spis1.remove('New item');spis1 #Удаляет конкретный объект
|
||||
[111, (5-9j), 'Новый объект', 'Меня зовут: \n Кузьменко Е.А.']
|
||||
>>> spis2=['aa',123,'bb'];spis2
|
||||
['aa', 123, 'bb']
|
||||
>>> spis1.extend(spis2);spis1 #Добавляет объекты в конец списка
|
||||
[111, (5-9j), 'Новый объект', 'Меня зовут: \n Кузьменко Е.А.', 'aa', 123, 'bb']
|
||||
>>> spis2.clear();spis2 #Очищает список
|
||||
[]
|
||||
>>> spis3=[-9,2,5,0,10,-11];spis3.sort();spis3 #Сортирует по возрастанию
|
||||
[-11, -9, 0, 2, 5, 10]
|
||||
>>> spis3.sort(reverse=True);spis3 #Сортирует по убыванию
|
||||
[10, 5, 2, 0, -9, -11]
|
||||
>>> spis1.reverse();spis1 #Выписывает список в обратном порядке
|
||||
['bb', 123, 'aa', 'Меня зовут: \n Кузьменко Е.А.', 'Новый объект', (5-9j), 111]
|
||||
>>> copy1=spis1.copy();copy2=spis3.copy();print(copy1,copy2) #Копирует список
|
||||
['bb', 123, 'aa', 'Меня зовут: \n Кузьменко Е.А.', 'Новый объект', (5-9j), 111] [10, 5, 2, 0, -9, -11]
|
||||
>>> spis4=[1,1,0,2,4,5,5,1];spis4.count(1) #Считает сколько раз конкретный элемент вошёл в список
|
||||
3
|
||||
>>> spis4.index(5) #Находит индекс первого вхождения "5"
|
||||
5
|
||||
#Вложенные списки
|
||||
>>> spis2=[spis1,[4,5,6,7]];spis2
|
||||
[['bb', 123, 'aa', 'Меня зовут: \n Кузьменко Е.А.', 'Новый объект', (5-9j), 111], [4, 5, 6, 7]]
|
||||
>>> spis2[0][1] #Обращение к элементу первого списка(т.к. "0")
|
||||
123
|
||||
>>> spis2[0][1]=78;spis2;spis1
|
||||
[['bb', 78, 'aa', 'Меня зовут: \n Кузьменко Е.А.', 'Новый объект', (5-9j), 111], [4, 5, 6, 7]]
|
||||
['bb', 78, 'aa', 'Меня зовут: \n Кузьменко Е.А.', 'Новый объект', (5-9j), 111]
|
||||
>>> spis0=[123, 'ice cream', False, spis2];spis0
|
||||
[123, 'ice cream', False, [['bb', 78, 'aa', 'Меня зовут: \n Кузьменко Е.А.', 'Новый объект', (5-9j), 111], [4, 5, 6, 7]]]
|
||||
#8.2
|
||||
>>> kort1=(222,'Kortezh',77+8j)
|
||||
>>> kort1
|
||||
(222, 'Kortezh', (77+8j))
|
||||
>>> kort1=kort1+(1,2)
|
||||
>>> kort1
|
||||
(222, 'Kortezh', (77+8j), 1, 2)
|
||||
>>> kort1=kort1+(ss1b,);kort1
|
||||
(222, 'Kortezh', (77+8j), 1, 2, 'Меня зовут: \n Кузьменко Е.А.')
|
||||
>>> kort2=kort1[:2]+kort1[3:];kort2
|
||||
(222, 'Kortezh', 1, 2, 'Меня зовут: \n Кузьменко Е.А.')
|
||||
>>> kort1.index(2);kort1 #Первое появление двойки
|
||||
4
|
||||
>>> kort1.count(222)
|
||||
1
|
||||
>>> kort1[2]=90;kort1 #Нельзя изменить кортеж
|
||||
Traceback (most recent call last):
|
||||
File "<pyshell#207>", line 1, in <module>
|
||||
kort1[2]=90;kort1
|
||||
TypeError: 'tuple' object does not support item assignment
|
||||
|
||||
>>> kort3=(16,'boo',[1,2,"aa"],(2,"bb",2));kort3
|
||||
(16, 'boo', [1, 2, 'aa'], (2, 'bb', 2))
|
||||
#8.3
|
||||
>>> dic1={'Saratov':145,'Orel':56,'Vologda':45};dic1
|
||||
{'Saratov': 145, 'Orel': 56, 'Vologda': 45}
|
||||
>>> dic1['Orel']
|
||||
56
|
||||
>>> dic1['Pskov']=78;dic1
|
||||
{'Saratov': 145, 'Orel': 56, 'Vologda': 45, 'Pskov': 78}
|
||||
|
||||
#Сортировка по ключам и значениям
|
||||
>>> sorted(dic1.keys())
|
||||
['Orel', 'Pskov', 'Saratov', 'Vologda']
|
||||
>>> sorted(dic1.values())
|
||||
[45, 56, 78, 145]
|
||||
|
||||
#Создание словарей
|
||||
>>> dic2={1:'mean',2:'standart deviation',3:'correlation'};dic2
|
||||
{1: 'mean', 2: 'standart deviation', 3: 'correlation'}
|
||||
>>> dic3={'statics':dic2,'POAS':['base','elementary','programming']};dic3
|
||||
{'statics': {1: 'mean', 2: 'standart deviation', 3: 'correlation'}, 'POAS': ['base', 'elementary', 'programming']}
|
||||
>>> 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 Кузьменко Е.А.'}
|
||||
|
||||
>>> kort11=(2,6,'sa',True,False,12,1);kort11
|
||||
(2, 6, 'sa', True, False, 12, 1)
|
||||
>>> spis11=[2,'oo','bb',3,5];spis11
|
||||
[2, 'oo', 'bb', 3, 5]
|
||||
>>> dic11=dict(zip(kort11,spis11));dic11
|
||||
{2: 2, 6: 'oo', 'sa': 'bb', True: 3, False: 5}
|
||||
#Пример словаря
|
||||
>>> AVTI={'Курс I':[22,23,17,24,30,29,28,25,23,0,4,31,30,33,18,12,27],'Курс II':[18,16,12,15,29,18,21,23,13,0,4,20,31,26,16,], 'Курс III':[17,12,0,6,17,15,19,19,0,0,5,17,22,18,12], 'Курс IV':[27,16,0,13,17,15,19,20,0,0,2,15,18,16,17]}
|
||||
>>> AVTI['Курс III'][5]
|
||||
|
||||
#8.4
|
||||
>>> mnoz1={'двигатель','датчик','линия связи','датчик','микропроцессор','двигатель'};mnoz1
|
||||
{'двигатель', 'микропроцессор', 'линия связи', 'датчик'}
|
||||
>>> len(mnoz1)
|
||||
4
|
||||
>>> 'датчик' in mnoz1
|
||||
True
|
||||
>>> mnoz1.add('реле');mnoz1
|
||||
{'двигатель', 'микропроцессор', 'реле', 'линия связи', 'датчик'}
|
||||
>>> mnoz1.remove('линия связи');mnoz1
|
||||
{'двигатель', 'микропроцессор', 'реле', 'датчик'}
|
||||
>>> mnoz2={4.12,'rr',True,True,2,2,3.2,'rr','rr',(1,2)};mnoz2
|
||||
{True, 2, 3.2, (1, 2), 4.12, 'rr'}
|
||||
>>> len(mnoz2)
|
||||
6
|
||||
>>> 2 in mnoz2
|
||||
True
|
||||
>>> 3 in mnoz2
|
||||
False
|
||||
>>> mnoz2.add('oo');mnoz2
|
||||
{True, 2, 3.2, (1, 2), 4.12, 'oo', 'rr'}
|
||||
>>> mnoz2.remove(3.2);mnoz2
|
||||
{True, 2, (1, 2), 4.12, 'oo', 'rr'}
|
||||
|
||||
#9
|
||||
#Завершение работы exit()
|
||||
|
После Ширина: | Высота: | Размер: 5.5 KiB |
@ -0,0 +1,514 @@
|
||||
# Отчёт по Теме 2
|
||||
|
||||
Кузьменко Елена, А-02-23
|
||||
|
||||
## 1.Работа в оболочке IDLE. Задание рабочего каталога.
|
||||
|
||||
```py
|
||||
>>> import os
|
||||
>>> os.chdir(r"C:\Users\Admin\Desktop\python-labs\TEMA2")
|
||||
>>> os.getcwd()
|
||||
'C:\\Users\\Admin\\Desktop\\python-labs\\TEMA2'
|
||||
```
|
||||
|
||||
Был открыт текстовый редактор для дальнейшего заполнения протокола.
|
||||
|
||||

|
||||
|
||||
Файл Pr0.py(в каталоге ТЕМА2) будет нести в себе все команды и их вывод данной лаборатрной работы.
|
||||
|
||||
## 2.Простые объекты
|
||||
|
||||
Операции присваивания представлены в следующем примере:
|
||||
|
||||
```py
|
||||
>>> f1=16; f2=3
|
||||
>>> f1,f2
|
||||
(16, 3)
|
||||
>>> f1;f2
|
||||
16
|
||||
3
|
||||
```
|
||||
|
||||
Здесь f1,f2 - переменные, несущие в себе значения, которые задаются после знака "=".
|
||||
Если мы захотим узнать, какое значение имеет определённая переменная, это можно провести через знак ","(в одной строке) или ";"(каждая следующая строка), в зависимости от того, как мы собираемся разделять полученные значения.
|
||||
|
||||
Следующая функция позволяет узнать какие объекты на данный момент существуют в среде:
|
||||
|
||||
```py
|
||||
>>> dir()
|
||||
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'f1', 'f2', 'os']
|
||||
```
|
||||
|
||||
Помимо встроенных в среду объектов, также можно заметить нами созданные: f1 и f2.
|
||||
|
||||
Добавив аргумент, мы обращаемся к конкретному объекту:
|
||||
|
||||
```py
|
||||
>>> dir(f1)
|
||||
['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__gt__', '__hash__', '__index__', '__init__', '__init_subclass__', '__int__', '__invert__', '__le__', '__lshift__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__round__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'as_integer_ratio', 'bit_length', 'conjugate', 'denominator', 'from_bytes', 'imag', 'numerator', 'real', 'to_bytes']
|
||||
```
|
||||
|
||||
Функцией type() для этого же объекта определим классовую принадлежность:
|
||||
|
||||
```py
|
||||
>>> type(f1)
|
||||
<class 'int'>
|
||||
```
|
||||
|
||||
В данном случае переменная f1 и вправду несёт в себе целое число "16".
|
||||
|
||||
Если нам необходимо удалить объект из оперативной памяти следует использовать инструкцию del. Попробуем удалить f1 и f2:
|
||||
|
||||
```py
|
||||
>>> del f1
|
||||
>>> del f2
|
||||
>>> dir(f1)
|
||||
Traceback (most recent call last):
|
||||
File "<pyshell#12>", line 1, in <module>
|
||||
dir(f1)
|
||||
NameError: name 'f1' is not defined
|
||||
>>> dir()
|
||||
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'os']
|
||||
```
|
||||
|
||||
Заметим, что эти объекты были удалены, а при прямом указания аргумента в инструкции dir() выдаёт ошибку.
|
||||
|
||||
## 3.Именования объектов в среде.
|
||||
|
||||
Правильные:
|
||||
|
||||
```py
|
||||
>>> gg1=1.6; gg1
|
||||
1.6
|
||||
>>> hh1='Строка'; hh1
|
||||
'Строка'
|
||||
```
|
||||
|
||||
Неправильные:
|
||||
|
||||
```py
|
||||
>>> 73sr=3; 73sr
|
||||
SyntaxError: invalid syntax
|
||||
>>> and=7; and
|
||||
SyntaxError: invalid syntax
|
||||
```
|
||||
|
||||
## 4.Список ключевых слов.
|
||||
|
||||
```py
|
||||
>>> import keyword
|
||||
>>> keyword.kwlist
|
||||
['False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
|
||||
>>> key=keyword.kwlist
|
||||
>>> key
|
||||
['False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
|
||||
>>> type(key)
|
||||
<class 'list'>
|
||||
```
|
||||
|
||||
## 5.Список встроенных идентификаторов.
|
||||
|
||||
```py
|
||||
>>> import builtins
|
||||
>>> dir(builtins)
|
||||
['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BlockingIOError', 'BrokenPipeError', 'BufferError', 'BytesWarning', 'ChildProcessError', 'ConnectionAbortedError', 'ConnectionError', 'ConnectionRefusedError', 'ConnectionResetError', 'DeprecationWarning', 'EOFError', 'Ellipsis', 'EnvironmentError', 'Exception', 'False', 'FileExistsError', 'FileNotFoundError', 'FloatingPointError', 'FutureWarning', 'GeneratorExit', 'IOError', 'ImportError', 'ImportWarning', 'IndentationError', 'IndexError', 'InterruptedError', 'IsADirectoryError', 'KeyError', 'KeyboardInterrupt', 'LookupError', 'MemoryError', 'ModuleNotFoundError', 'NameError', 'None', 'NotADirectoryError', 'NotImplemented', 'NotImplementedError', 'OSError', 'OverflowError', 'PendingDeprecationWarning', 'PermissionError', 'ProcessLookupError', 'RecursionError', 'ReferenceError', 'ResourceWarning', 'RuntimeError', 'RuntimeWarning', 'StopAsyncIteration', 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError', 'SystemExit', 'TabError', 'TimeoutError', 'True', 'TypeError', 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning', 'ValueError', 'Warning', 'WindowsError', 'ZeroDivisionError', '_', '__build_class__', '__debug__', '__doc__', '__import__', '__loader__', '__name__', '__package__', '__spec__', 'abs', 'all', 'any', 'ascii', 'bin', 'bool', 'breakpoint', 'bytearray', 'bytes', 'callable', 'chr', 'classmethod', 'compile', 'complex', 'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit', 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'map', 'max', 'memoryview', 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print', 'property', 'quit', 'range', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars', 'zip']
|
||||
```
|
||||
|
||||
Изучим некоторые функции из данного списка. Для этого также будем обращаться к помощи по следующей инструкции(для остальных функций по такому же принципу, можно посмотреть в протоколе):
|
||||
|
||||
## Модуль числа
|
||||
|
||||
```py
|
||||
>>> help(abs)
|
||||
Help on built-in function abs in module builtins:
|
||||
|
||||
abs(x, /)
|
||||
Return the absolute value of the argument.
|
||||
|
||||
>>> abs(13-40)
|
||||
27
|
||||
```
|
||||
|
||||
## Количество элементов в объекте
|
||||
|
||||
```py
|
||||
>>> len("2932")
|
||||
4
|
||||
>>> len(key)
|
||||
36
|
||||
```
|
||||
|
||||
## Максимальное и минимальное значение
|
||||
|
||||
```py
|
||||
>>> max(0,19,20,-2,200,-1012,99,134)
|
||||
200
|
||||
>>> max("в", "з", "щ", "я")
|
||||
'я' #По алфавиту позже остальных букв в данном перечне
|
||||
>>> min(0,19,20,-2,200,-1012,99,134)
|
||||
-1012
|
||||
>>> min("в", "з", "щ", "я")
|
||||
'в' #По алфавиту раньше остальных букв в данном перечне
|
||||
```
|
||||
|
||||
## Возведение числа в степень
|
||||
|
||||
```py
|
||||
>>> pow(2,3)
|
||||
8
|
||||
>>> pow(2,3,3) #3 аргумент - mod, вычисляет остаток в результате деления на mod
|
||||
2
|
||||
>>> pow(4,-3)
|
||||
0.015625
|
||||
```
|
||||
|
||||
## Округление
|
||||
|
||||
```py
|
||||
>>> round(123.456)
|
||||
123
|
||||
>>> round(123.456,1)
|
||||
123.5
|
||||
>>> round(123.456,-1)
|
||||
120.0
|
||||
```
|
||||
|
||||
## Сортировка по возрастанию и убыванию
|
||||
|
||||
```py
|
||||
>>> n=[-10,8,2,-3,5.5]
|
||||
>>> sorted(n)
|
||||
[-10, -3, 2, 5.5, 8]
|
||||
>>> sorted(n,reverse=True)
|
||||
[8, 5.5, 2, -3, -10]
|
||||
>>> w=["apple","banana","kiwi","strawberry"]
|
||||
>>> sorted(w)
|
||||
['apple', 'banana', 'kiwi', 'strawberry']
|
||||
>>> sorted(w,reverse=True)
|
||||
['strawberry', 'kiwi', 'banana', 'apple']
|
||||
```
|
||||
|
||||
## Суммирование
|
||||
|
||||
```py
|
||||
>>> sum(n)
|
||||
2.5
|
||||
>>> sum(n,10) #Задаём начальное значение(по умолчанию 0, здесь - 10)
|
||||
12.5
|
||||
>>> sum([x*2 for x in n]) #Каждое значение берётся в квадрат и суммируется с последующим
|
||||
5.0
|
||||
```
|
||||
|
||||
## Объединение нескольких объектов
|
||||
|
||||
```py
|
||||
>>> list1=[1,2,3];list2=['a','b','c']
|
||||
>>> z=zip(list1,list2)
|
||||
>>> list(z)
|
||||
[(1, 'a'), (2, 'b'), (3, 'c')]
|
||||
>>> list3=[4,5,6]
|
||||
>>> list(zip(list1,list2,list3))
|
||||
[(1, 'a', 4), (2, 'b', 5), (3, 'c', 6)]
|
||||
```
|
||||
|
||||
## 6.Регистр
|
||||
|
||||
```py
|
||||
>>> Gg1=45
|
||||
>>> gg1
|
||||
1.6
|
||||
```
|
||||
|
||||
Если мы введём новую переменную, отличающуюся лишь регистром, она будет считаться отдельной. Gg1 и gg1 - разные переменные с разными значениями.
|
||||
|
||||
## 7.Базовые типы объектов
|
||||
|
||||
## 7.1.Логический тип.
|
||||
|
||||
```py
|
||||
>>> bb1=True; bb2=False
|
||||
>>> bb1;bb2
|
||||
True
|
||||
False
|
||||
>>> type(bb1)
|
||||
<class 'bool'>
|
||||
```
|
||||
|
||||
## 7.2.Другие простые типы
|
||||
|
||||
```py
|
||||
>>> ii1=-1234567890;ii1;type(ii1)
|
||||
-1234567890
|
||||
<class 'int'>
|
||||
>>> ff1=-8.9876e-12;ff1;type(ff1)
|
||||
-8.9876e-12
|
||||
<class 'float'>
|
||||
>>> dv1=0b1101010;dv1;type(dv1)
|
||||
106
|
||||
<class 'int'>
|
||||
>>> vsm1=0o52765;vsm1;type(vsm1)
|
||||
22005
|
||||
<class 'int'>
|
||||
>>> shest1=0x7109af6;shest1;type(shest1)
|
||||
118528758
|
||||
<class 'int'>
|
||||
>>> cc1=2-3j;cc1;type(cc1)
|
||||
(2-3j)
|
||||
<class 'complex'>
|
||||
>>> a=3.67;b=-0.45;cc2=complex(a,b);cc2;type(cc2)
|
||||
(3.67-0.45j)
|
||||
<class 'complex'>
|
||||
```
|
||||
|
||||
## 7.3.Строка символов
|
||||
|
||||
```py
|
||||
>>> ss1='Это - строка символов';ss1
|
||||
'Это - строка символов'
|
||||
>>> ss1="Это - строка символов";ss1
|
||||
'Это - строка символов'
|
||||
>>> ss1a="Это - \" строка символов \", \n \t выводимая на двух сторонах"; print(ss1a)
|
||||
Это - " строка символов ",
|
||||
выводимая на двух сторонах
|
||||
>>> ss1b='Меня зовут: \n Кузьменко Е.А.'; print(ss1b)
|
||||
Меня зовут:
|
||||
Кузьменко Е.А.
|
||||
>>> mnogo="""Нетрудно заметить, что в результате операции над числами разных типов получается число, имеющее более сложный тип из тех, которые учавствуют в операции."""; print(mnogo)
|
||||
Нетрудно заметить, что в результате операции над числами разных типов получается число, имеющее более сложный тип из тех, которые учавствуют в операции.
|
||||
>>> ss1
|
||||
'Это - строка символов'
|
||||
>>> ss1[0]
|
||||
'Э'
|
||||
>>> ss1[8]
|
||||
'р'
|
||||
>>> ss1[-2]
|
||||
'о'
|
||||
>>> ss1[6:9]
|
||||
'стр'
|
||||
>>> ss1[13:]
|
||||
'символов'
|
||||
>>> ss1[:13]
|
||||
'Это - строка '
|
||||
>>> ss1[5:-8]
|
||||
' строка '
|
||||
>>> ss1[3:17:2]
|
||||
' тоасм'
|
||||
>>> ss1[4]='='
|
||||
Traceback (most recent call last):
|
||||
File "<pyshell#120>", line 1, in <module>
|
||||
ss1[4]='='
|
||||
TypeError: 'str' object does not support item assignment
|
||||
>>> ss1=ss1[:4]+'='+ss1[5:];ss1
|
||||
'Это = строка символов'
|
||||
# Примеры с ss1b
|
||||
>>> print(ss1b)
|
||||
Меня зовут:
|
||||
Кузьменко Е.А.
|
||||
>>> ss1b
|
||||
'Меня зовут: \n Кузьменко Е.А.'
|
||||
>>> ss1b[0]
|
||||
'М'
|
||||
>>> ss1b[14:]
|
||||
'Кузьменко Е.А.'
|
||||
>>> ss1b[0:15:3]
|
||||
'Мяот\n'
|
||||
>>> ss1b1=ss1b[:10]+' : \n'+ss1b[14:];print(ss1b1)
|
||||
Меня зовут :
|
||||
Кузьменко Е.А.
|
||||
|
||||
>>> x1=6-24j;x1;type(x1)
|
||||
(6-24j)
|
||||
<class 'complex'>
|
||||
>>> x2=0.14e-13;x2;type(x2)
|
||||
1.4e-14
|
||||
<class 'float'>
|
||||
>>> x3=0b0101;x3;type(x3)
|
||||
5
|
||||
<class 'int'>
|
||||
>>> x4=True;x4;type(x4)
|
||||
True
|
||||
<class 'bool'>
|
||||
>>> x5=None;x5;type(x5)
|
||||
<class 'NoneType'>
|
||||
```
|
||||
|
||||
## 8.Сложные типы объектов.
|
||||
|
||||
## 8.1.Список
|
||||
|
||||
```py
|
||||
>>> spis1=[111,'Spisok',(5-9j)];spis1
|
||||
[111, 'Spisok', 5-9j]
|
||||
>>> 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]
|
||||
>>> spis1[-1]
|
||||
(5-9j)
|
||||
>>> stup[-8::2] #Начииная от 8 элемента с конца и заканчивая последним значением с шагом 2
|
||||
[0, 1, 1, 1]
|
||||
>>> spis1[1]='Список';spis1
|
||||
[111, 'Список', (5-9j)]
|
||||
>>> len(spis1)
|
||||
3
|
||||
# Методы добавления и удаления объекта
|
||||
>>> dir()
|
||||
['Gg1', '__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'a', 'b', 'bb1', 'bb2', 'builtins', 'cc1', 'cc2', 'dv1', 'f', 'ff1', 'gg1', 'hh1', 'ii1', 'key', 'keyword', 'list1', 'list2', 'list3', 'mnogo', 'n', 'os', 'rating', 'shest1', 'spis', 'spis1', 'ss1', 'ss1a', 'ss1b', 'ss1b1', 'students', 'stup', 'vsm1', 'w', 'x1', 'x2', 'x3', 'x4', 'x5', 'z', 'z1']
|
||||
>>> 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+['New item'];spis1 #Только отображается!
|
||||
[111, 'Список', (5-9j), 'New item', 'New item']
|
||||
[111, 'Список', (5-9j), 'New item']
|
||||
>>> spis1.pop(1)
|
||||
'Список'
|
||||
>>> spis1
|
||||
[111, (5-9j), 'New item']
|
||||
>>> spis1.append(ss1b);print(spis1)
|
||||
[111, (5-9j), 'New item', 'Меня зовут: \n Кузьменко Е.А.']
|
||||
# Другие методы
|
||||
>>> spis1.insert(3,'Новый объект');spis1 #Вставляет объект на указанную позицию
|
||||
[111, (5-9j), 'New item', 'Новый объект', 'Меня зовут: \n Кузьменко Е.А.']
|
||||
>>> spis1.remove('New item');spis1 #Удаляет конкретный объект
|
||||
[111, (5-9j), 'Новый объект', 'Меня зовут: \n Кузьменко Е.А.']
|
||||
>>> spis2=['aa',123,'bb'];spis2
|
||||
['aa', 123, 'bb']
|
||||
>>> spis1.extend(spis2);spis1 #Добавляет объекты в конец списка
|
||||
[111, (5-9j), 'Новый объект', 'Меня зовут: \n Кузьменко Е.А.', 'aa', 123, 'bb']
|
||||
>>> spis2.clear();spis2 #Очищает список
|
||||
[]
|
||||
>>> spis3=[-9,2,5,0,10,-11];spis3.sort();spis3 #Сортирует по возрастанию
|
||||
[-11, -9, 0, 2, 5, 10]
|
||||
>>> spis3.sort(reverse=True);spis3 #Сортирует по убыванию
|
||||
[10, 5, 2, 0, -9, -11]
|
||||
>>> spis1.reverse();spis1 #Выписывает список в обратном порядке
|
||||
['bb', 123, 'aa', 'Меня зовут: \n Кузьменко Е.А.', 'Новый объект', (5-9j), 111]
|
||||
>>> copy1=spis1.copy();copy2=spis3.copy();print(copy1,copy2) #Копирует список
|
||||
['bb', 123, 'aa', 'Меня зовут: \n Кузьменко Е.А.', 'Новый объект', (5-9j), 111] [10, 5, 2, 0, -9, -11]
|
||||
>>> spis4=[1,1,0,2,4,5,5,1];spis4.count(1) #Считает сколько раз конкретный элемент вошёл в список
|
||||
3
|
||||
>>> spis4.index(5) #Находит индекс первого вхождения "5"
|
||||
5
|
||||
# Вложенные списки
|
||||
>>> spis2=[spis1,[4,5,6,7]];spis2
|
||||
[['bb', 123, 'aa', 'Меня зовут: \n Кузьменко Е.А.', 'Новый объект', (5-9j), 111], [4, 5, 6, 7]]
|
||||
>>> spis2[0][1] #Обращение к элементу первого списка(т.к. "0")
|
||||
123
|
||||
>>> spis2[0][1]=78;spis2;spis1
|
||||
[['bb', 78, 'aa', 'Меня зовут: \n Кузьменко Е.А.', 'Новый объект', (5-9j), 111], [4, 5, 6, 7]]
|
||||
['bb', 78, 'aa', 'Меня зовут: \n Кузьменко Е.А.', 'Новый объект', (5-9j), 111]
|
||||
```
|
||||
При изменении spis2[0][1], мы поменяли второй элемент в самом списке spis1, так как заданный spis2[0] и есть spis1.
|
||||
|
||||
```py
|
||||
>>> spis0=[123, 'ice cream', False, spis2];spis0
|
||||
[123, 'ice cream', False, [['bb', 78, 'aa', 'Меня зовут: \n Кузьменко Е.А.', 'Новый объект', (5-9j), 111], [4, 5, 6, 7]]]
|
||||
```
|
||||
|
||||
## 8.2.Объект-кортеж
|
||||
|
||||
```py
|
||||
>>> kort1=(222,'Kortezh',77+8j)
|
||||
>>> kort1
|
||||
(222, 'Kortezh', (77+8j))
|
||||
>>> kort1=kort1+(1,2)
|
||||
>>> kort1
|
||||
(222, 'Kortezh', (77+8j), 1, 2)
|
||||
>>> kort1=kort1+(ss1b,);kort1
|
||||
(222, 'Kortezh', (77+8j), 1, 2, 'Меня зовут: \n Кузьменко Е.А.')
|
||||
>>> kort2=kort1[:2]+kort1[3:];kort2
|
||||
(222, 'Kortezh', 1, 2, 'Меня зовут: \n Кузьменко Е.А.')
|
||||
>>> kort1.index(2);kort1 #Первое появление двойки
|
||||
4
|
||||
>>> kort1.count(222)
|
||||
1
|
||||
>>> kort1[2]=90;kort1 #Нельзя изменить кортеж
|
||||
Traceback (most recent call last):
|
||||
File "<pyshell#207>", line 1, in <module>
|
||||
kort1[2]=90;kort1
|
||||
TypeError: 'tuple' object does not support item assignment
|
||||
|
||||
>>> kort3=(16,'boo',[1,2,"aa"],(2,"bb",2));kort3
|
||||
(16, 'boo', [1, 2, 'aa'], (2, 'bb', 2))
|
||||
```
|
||||
|
||||
## 8.3.Объект-словарь
|
||||
|
||||
```py
|
||||
>>> dic1={'Saratov':145,'Orel':56,'Vologda':45};dic1
|
||||
{'Saratov': 145, 'Orel': 56, 'Vologda': 45}
|
||||
>>> dic1['Orel']
|
||||
56
|
||||
>>> dic1['Pskov']=78;dic1
|
||||
{'Saratov': 145, 'Orel': 56, 'Vologda': 45, 'Pskov': 78}
|
||||
|
||||
# Сортировка по ключам и значениям
|
||||
>>> sorted(dic1.keys())
|
||||
['Orel', 'Pskov', 'Saratov', 'Vologda']
|
||||
>>> sorted(dic1.values())
|
||||
[45, 56, 78, 145]
|
||||
|
||||
# Создание словарей
|
||||
>>> dic2={1:'mean',2:'standart deviation',3:'correlation'};dic2
|
||||
{1: 'mean', 2: 'standart deviation', 3: 'correlation'}
|
||||
>>> dic3={'statics':dic2,'POAS':['base','elementary','programming']};dic3
|
||||
{'statics': {1: 'mean', 2: 'standart deviation', 3: 'correlation'}, 'POAS': ['base', 'elementary', 'programming']}
|
||||
>>> 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 Кузьменко Е.А.'}
|
||||
|
||||
>>> kort11=(2,6,'sa',True,False,12,1);kort11
|
||||
(2, 6, 'sa', True, False, 12, 1)
|
||||
>>> spis11=[2,'oo','bb',3,5];spis11
|
||||
[2, 'oo', 'bb', 3, 5]
|
||||
>>> dic11=dict(zip(kort11,spis11));dic11
|
||||
{2: 2, 6: 'oo', 'sa': 'bb', True: 3, False: 5}
|
||||
```
|
||||
|
||||
В данном случае кортеж - 7 элементов, список - 5 элементов. Однако создаваемый словарь подстроится под наименьшее количество элементов, пока в обоих перечнях присутствуют пары без повторов.
|
||||
|
||||
```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
|
||||
{'двигатель', 'микропроцессор', 'реле', 'датчик'}
|
||||
|
||||
>>> mnoz2={4.12,'rr',True,True,2,2,3.2,'rr','rr',(1,2)};mnoz2
|
||||
{True, 2, 3.2, (1, 2), 4.12, 'rr'}
|
||||
>>> len(mnoz2)
|
||||
6
|
||||
>>> 2 in mnoz2
|
||||
True
|
||||
>>> 3 in mnoz2
|
||||
False
|
||||
>>> mnoz2.add('oo');mnoz2
|
||||
{True, 2, 3.2, (1, 2), 4.12, 'oo', 'rr'}
|
||||
>>> mnoz2.remove(3.2);mnoz2
|
||||
{True, 2, (1, 2), 4.12, 'oo', 'rr'}
|
||||
```
|
||||
|
||||
## 9.Завершение работы со средой.
|
||||
@ -0,0 +1,85 @@
|
||||
## Общее контрольное задание по Теме 2
|
||||
|
||||
Кузьменко Елена, А-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, в котором ключами являются русские названия типов переменных, использованных в предыдущих операторах, а значениями – ранее созданные перемен-ные, соответствующие этим типам.
|
||||
|
||||
## Решение
|
||||
|
||||
## 1.Создание переменной
|
||||
|
||||
```py
|
||||
>>> familia='Kuzmenko';familia
|
||||
'Kuzmenko'
|
||||
```
|
||||
|
||||
## 2.Переменная с первой буквой из familia
|
||||
|
||||
```py
|
||||
>>> first=familia[0];first
|
||||
'K'
|
||||
```
|
||||
|
||||
## 3.Переменная со списком всех ключевых слов языка
|
||||
|
||||
```py
|
||||
>>> import keyword
|
||||
>>> dir(keyword)
|
||||
['__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'iskeyword', 'issoftkeyword', 'kwlist', 'softkwlist']
|
||||
>>> sp_kw=keyword.kwlist;sp_kw
|
||||
['False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
|
||||
```
|
||||
|
||||
## 4.Удаление значения из списка
|
||||
|
||||
```py
|
||||
>>> sp_kw.remove('nonlocal');sp_kw
|
||||
['False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
|
||||
```
|
||||
|
||||
## 5.Создание кортежа с именами
|
||||
|
||||
```py
|
||||
>>> kort_nam=('Елена','Анастасия','Варвара','Елизавета');kort_nam;type(kort_nam)
|
||||
('Елена', 'Анастасия', 'Варвара', 'Елизавета')
|
||||
<class 'tuple'>
|
||||
```
|
||||
|
||||
## 6.Добавление имён в кортеж
|
||||
|
||||
```py
|
||||
>>> kort_nam=kort_nam+('Алёна','Вера');kort_nam
|
||||
('Елена', 'Анастасия', 'Варвара', 'Елизавета', 'Алёна', 'Вера')
|
||||
```
|
||||
|
||||
## 7.Присутствие имени
|
||||
|
||||
```py
|
||||
>>> kort_nam.count('Дима')
|
||||
0
|
||||
```
|
||||
|
||||
## 8.Создание словаря
|
||||
|
||||
```py
|
||||
>>> dist_bas={'Строка':[familia,first],'Список': sp_kw, 'Кортеж': kort_nam};dist_bas
|
||||
{'Строка': ['Kuzmenko', 'K'], 'Список': ['False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'], 'Кортеж': ('Елена', 'Анастасия', 'Варвара', 'Елизавета', 'Алёна', 'Вера')}
|
||||
```
|
||||
@ -0,0 +1,20 @@
|
||||
# Общее контрольное задание по Теме 2
|
||||
|
||||
Кузьменко Елена, А-02-23
|
||||
|
||||
## Задание
|
||||
|
||||
7. Напишите инструкцию создания множества с 5 русскоязычными названиями фруктов.
|
||||
Напишите инструкцию проверки вхождения фрукта «яблоко» в составе множества.
|
||||
|
||||
|
||||
## Решение
|
||||
|
||||
```py
|
||||
>>>fruits={'яблоко','апельсин','апельсин','киви','яблоко','ананас','яблоко','мандарин'}; fruits
|
||||
{'яблоко', 'апельсин', 'ананас', 'киви', 'мандарин'}
|
||||
>>>'яблоко' in fruits
|
||||
True
|
||||
>>>len(fruits)
|
||||
5
|
||||
```
|
||||
@ -0,0 +1,489 @@
|
||||
#Протокол по Теме3
|
||||
|
||||
#2
|
||||
#2.1
|
||||
>>> logiz1=bool(56); logiz1
|
||||
True
|
||||
>>> logiz2=bool(0); logiz2
|
||||
False
|
||||
>>> logiz3=bool("Beta");logiz3
|
||||
True
|
||||
>>> logiz4=bool("");logiz4
|
||||
False
|
||||
|
||||
#2.2
|
||||
>>> 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#10>", line 1, in <module>
|
||||
tt5=int("98.76");tt5
|
||||
ValueError: invalid literal for int() with base 10: '98.76'
|
||||
>>> tt5=int(float("98.76"));tt5
|
||||
98
|
||||
|
||||
#2.3
|
||||
>>> hh=123
|
||||
>>> dv1=bin(hh);dv1
|
||||
'0b1111011'
|
||||
>>> vos1=oct(hh);vos1
|
||||
'0o173'
|
||||
>>> shs1=hex(hh);shs1
|
||||
'0x7b'
|
||||
>>> pr_dv1=int(dv1);pr_dv1
|
||||
>>> pr_dv1=int(dv1,2);pr_dv1
|
||||
123
|
||||
>>> pr_vos1=int(vos1,8);pr_vos1
|
||||
123
|
||||
>>> pr_shs1=int(shs1,16);pr_shs1
|
||||
123
|
||||
|
||||
#3
|
||||
#3.1
|
||||
>>> 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
|
||||
>>> 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']
|
||||
>>> spis4=list({"A":1,"B":2,"C":9}.values());spis4
|
||||
[1, 2, 9]
|
||||
|
||||
#3.3
|
||||
>>> 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 strk5,kort8
|
||||
>>> dir()
|
||||
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'dv1', 'hh', 'kort7', 'kort9', 'logiz1', 'logiz2', 'logiz3', 'logiz4', 'pr_dv1', 'pr_shs1', 'pr_vos1', 'shs1', 'spis1', 'spis2', 'spis3', 'spis4', 'strk1', 'strk2', 'strk3', 'strk4', 'tt1', 'tt2', 'tt3', 'tt4', 'tt5', 'vos1']
|
||||
>>> dir(strk5)
|
||||
Traceback (most recent call last):
|
||||
File "<pyshell#36>", line 1, in <module>
|
||||
dir(strk5)
|
||||
NameError: name 'strk5' is not defined
|
||||
>>> dir(kort8)
|
||||
Traceback (most recent call last):
|
||||
File "<pyshell#37>", line 1, in <module>
|
||||
dir(kort8)
|
||||
NameError: name 'kort8' is not defined
|
||||
|
||||
>>> name="Kuzmenko E.A.";name
|
||||
'Kuzmenko E.A.'
|
||||
>>> name_list=list(name);name_list
|
||||
['K', 'u', 'z', 'm', 'e', 'n', 'k', 'o', ' ', 'E', '.', 'A', '.']
|
||||
>>> name_kort=tuple(name_list);name_kort
|
||||
('K', 'u', 'z', 'm', 'e', 'n', 'k', 'o', ' ', 'E', '.', 'A', '.')
|
||||
>>> name_str=str(name_kort);name_str
|
||||
"('K', 'u', 'z', 'm', 'e', 'n', 'k', 'o', ' ', 'E', '.', 'A', '.')"
|
||||
>>> print(name_str)
|
||||
('K', 'u', 'z', 'm', 'e', 'n', 'k', 'o', ' ', 'E', '.', 'A', '.')
|
||||
|
||||
#4
|
||||
#4.1
|
||||
>>> 12+7+90
|
||||
109
|
||||
>>> 5.689e-1 - 0.456
|
||||
0.11289999999999994
|
||||
>>> 23.6+54
|
||||
77.6
|
||||
>>> 14-56.7+89
|
||||
46.3
|
||||
|
||||
#4.2
|
||||
>>> -6.7*12
|
||||
-80.4
|
||||
|
||||
#4.3
|
||||
>>> -234.5/6
|
||||
-39.083333333333336
|
||||
>>> a=178/45;type(a)
|
||||
<class 'float'>
|
||||
>>> a
|
||||
3.9555555555555557
|
||||
|
||||
#4.4
|
||||
>>> b=178//45;b;type(b)
|
||||
3
|
||||
<class 'int'>
|
||||
>>> c=-24.6//12.1;c;type(c)
|
||||
-3.0
|
||||
<class 'float'>
|
||||
>>> b1=178//12.1;b1;type(b1)
|
||||
14.0 #без округления 14.710743801652892
|
||||
<class 'float'>
|
||||
>>> c1=-24.6//45;c1;type(c1)
|
||||
-1.0 #без округления -0.5466666666666667
|
||||
<class 'float'>
|
||||
>>> c2=-24.6/45;c2
|
||||
-0.5466666666666667
|
||||
|
||||
#4.5
|
||||
>>> A=148/33;A1=148%33;A,A1;type(A),type(A1)
|
||||
(4.484848484848484, 16)
|
||||
(<class 'float'>, <class 'int'>)
|
||||
>>> B=12.6/3.8;B1=12.6%3.8;B;B1;type(B);type(B1)
|
||||
3.3157894736842106
|
||||
1.2000000000000002
|
||||
<class 'float'>
|
||||
<class 'float'>
|
||||
>>> C=148/3.8;C1=148%3.8;C;C1;type(C);type(C1)
|
||||
38.94736842105263
|
||||
3.6000000000000068
|
||||
<class 'float'>
|
||||
<class 'float'>
|
||||
>>> D=12.6/33;D1=12.6%33;D;D1;type(D);type(D1)
|
||||
0.38181818181818183
|
||||
12.6
|
||||
<class 'float'>
|
||||
<class 'float'>
|
||||
|
||||
#4.6
|
||||
>>> 14**3
|
||||
2744
|
||||
>>> e=2.7**3.6;e;type(e)
|
||||
35.719843790663525
|
||||
<class 'float'>
|
||||
>>> 14**3.6
|
||||
13367.830445904418
|
||||
>>> e1=2.7**3;e1;type(e1)
|
||||
19.683000000000003
|
||||
<class 'float'>
|
||||
>>> z=12+13j;z1=9-3j;z;z1;type(z);type(z1)
|
||||
(12+13j)
|
||||
(9-3j)
|
||||
<class 'complex'>
|
||||
<class 'complex'>
|
||||
>>> z+z1
|
||||
(21+10j)
|
||||
>>> z-z1
|
||||
(3+16j)
|
||||
>>> z*z1
|
||||
(147+81j)
|
||||
>>> z/z1
|
||||
(0.7666666666666667+1.7j)
|
||||
>>> z//z1
|
||||
Traceback (most recent call last):
|
||||
File "<pyshell#80>", line 1, in <module>
|
||||
z//z1
|
||||
TypeError: can't take floor of complex number.
|
||||
>>> z%z1
|
||||
Traceback (most recent call last):
|
||||
File "<pyshell#81>", line 1, in <module>
|
||||
z%z1
|
||||
TypeError: can't mod complex numbers.
|
||||
>>> z**z1
|
||||
(748985013590.2666-1875851778010.0532j)
|
||||
|
||||
#5
|
||||
#5.1
|
||||
>>> dv1=9;dv1
|
||||
9
|
||||
>>> dv2=~dv1;dv2
|
||||
-10
|
||||
>>> dv11=3;dv22=~dv11;dv22
|
||||
-4
|
||||
|
||||
#5.2
|
||||
>>> 7&9 #111 и 1001 = 0001
|
||||
1
|
||||
>>> 7&8 #111 и 1000 = 0000
|
||||
0
|
||||
>>> 3&7 #0011(бинарное) и 0111(бинарное) = 0011, то есть 3(десятичное)
|
||||
3
|
||||
|
||||
#5.3
|
||||
>>> 7|9 #0111 или 1001
|
||||
15 #1111
|
||||
>>> 7|8 #111 или 1000
|
||||
15 #1111
|
||||
>>> 14|5 #1110 или 0101
|
||||
15 #1111
|
||||
|
||||
#5.4
|
||||
>>> 14^5 #1110 искл.или 0101
|
||||
11 #1011
|
||||
|
||||
#5.5
|
||||
>>> h=14;h;g=h<<2;bin(h);g;bin(g)
|
||||
14
|
||||
'0b1110'
|
||||
56
|
||||
'0b111000'
|
||||
>>> g1=h>>1;g1;bin(g1)
|
||||
7
|
||||
'0b111'
|
||||
>>> g2=h>>2;g2;bin(g2)
|
||||
3
|
||||
'0b11'
|
||||
>>> h1=75;h1;bin(75)
|
||||
75
|
||||
'0b1001011'
|
||||
>>> j1=h1>>4;j1;bin(j1)
|
||||
4
|
||||
'0b100'
|
||||
>>> j2=h1<<-3;j2;bin(j2)
|
||||
Traceback (most recent call last):
|
||||
File "<pyshell#107>", line 1, in <module>
|
||||
j2=h1<<-3;j2;bin(j2)
|
||||
ValueError: negative shift count
|
||||
>>> j2=h1<<3;j2;bin(j2)
|
||||
600
|
||||
'0b1001011000'
|
||||
|
||||
#6
|
||||
#6.1
|
||||
>>> 'Система '+'регулирования'
|
||||
'Система регулирования'
|
||||
>>> ['abc','de','fg']+['hi','jkl']
|
||||
['abc', 'de', 'fg', 'hi', 'jkl']
|
||||
>>> ('abc','de','fg')+('hi','jkl')
|
||||
('abc', 'de', 'fg', 'hi', 'jkl')
|
||||
|
||||
#6.2
|
||||
>>> 'ля-'*5
|
||||
'ля-ля-ля-ля-ля-'
|
||||
>>> ['ку','-']*3
|
||||
['ку', '-', 'ку', '-', 'ку', '-']
|
||||
>>> ('кис','-')*4
|
||||
('кис', '-', 'кис', '-', 'кис', '-', 'кис', '-')
|
||||
>>> signal1=[0]*3+[1]*99; signal1
|
||||
[0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
|
||||
>>> signal2=(0,)*3+(1,)*5+(0,)*7;signal2
|
||||
(0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0)
|
||||
|
||||
#6.3
|
||||
>>> stroka='Система автоматического управления'
|
||||
>>> 'автомат' in stroka
|
||||
True
|
||||
>>> 'ку' in ['ку','-']*3
|
||||
True
|
||||
>>> 'ля-' in ('abc', 'de', 'fg', 'hi', 'jkl')
|
||||
False
|
||||
|
||||
#6.4
|
||||
>>> stroka='Температура = %g %s %g';stroka
|
||||
'Температура = %g %s %g'
|
||||
>>> stroka % (16,' меньше ',25);stroka
|
||||
'Температура = 16 меньше 25'
|
||||
'Температура = %g %s %g'
|
||||
>>> stroka1='Температура = %(zn1)g %(sravn)s %(zn2)g';stroka1
|
||||
'Температура = %(zn1)g %(sravn)s %(zn2)g'
|
||||
>>> stroka1 % {'zn1':16,'sravn':' меньше ','zn2':25}
|
||||
'Температура = 16 меньше 25'
|
||||
|
||||
#7
|
||||
#7.1
|
||||
>>> zz=-12;zz
|
||||
-12
|
||||
|
||||
#7.2
|
||||
>>> zz=-12;zz
|
||||
-12
|
||||
>>> zz+=5;zz
|
||||
-7
|
||||
>>> zz-=3;zz
|
||||
-10
|
||||
>>> stroka2='Система'; stroka2
|
||||
'Система'
|
||||
>>> stroka2+=' регулирования';stroka2
|
||||
'Система регулирования'
|
||||
|
||||
#7.3
|
||||
>>> zz;zz/=2;zz
|
||||
-10
|
||||
-5.0
|
||||
>>> zz*=5;zz
|
||||
-25.0
|
||||
>>> stroka2*=3;stroka2
|
||||
'Система регулированияСистема регулированияСистема регулирования'
|
||||
|
||||
#7.4
|
||||
>>> zz;zz//=4;zz
|
||||
-25.0
|
||||
-7.0
|
||||
>>> zz**=2;zz
|
||||
49.0
|
||||
>>> zz%=5;zz
|
||||
4.0
|
||||
|
||||
#8
|
||||
#8.1
|
||||
>>> w=15;v=-10;w;v
|
||||
15
|
||||
-10
|
||||
>>> w==v
|
||||
False
|
||||
>>> w!=v
|
||||
True
|
||||
>>> w<v
|
||||
False
|
||||
>>> w>v
|
||||
True
|
||||
>>> w>=v
|
||||
True
|
||||
>>> w<=v
|
||||
False
|
||||
>>> w1='abcd';v1='aloaloalo'
|
||||
>>> w1==v1
|
||||
False
|
||||
>>> w1>v1
|
||||
False
|
||||
>>> w1<v1
|
||||
True
|
||||
|
||||
#8.2
|
||||
>>> mnoz1={'pen','book','pen','iPhone','table','book'};mnoz1
|
||||
{'iPhone', 'pen', 'book', 'table'}
|
||||
>>> 'book' in mnoz1
|
||||
True
|
||||
>>> 'cap' in mnoz1
|
||||
False
|
||||
>>> dic1={'Saratov':145, 'Orel':56, 'Vologda':45};dic1
|
||||
{'Saratov': 145, 'Orel': 56, 'Vologda': 45}
|
||||
>>> 'Vologda' in dic1
|
||||
True
|
||||
>>> 'Pskov' in dic1
|
||||
False
|
||||
>>> dct1={'Institut':['AVTI','IEE','IBB'],'Depart':['UII','PM','VMSS','MM'],'gruppa': ['A-01-15','A-02-15']};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
|
||||
>>> a=17;b=-6
|
||||
>>> (a>=b) and ('book' in mnoz1) and not ('Pskov' in dic1)
|
||||
True
|
||||
>>> not (a==b) or ('pen' in mnoz1) and ('Depart' in dct1)
|
||||
True
|
||||
>>> not ('pen' in mnoz1) or not (a<b) and ('Depart' in dct1)
|
||||
True
|
||||
|
||||
#8.4
|
||||
>>> w=v=10
|
||||
>>> w;v
|
||||
10
|
||||
10
|
||||
>>> w is v
|
||||
True
|
||||
>>> w1=['A','B'];v1=['A','B']
|
||||
>>> w1 is v1
|
||||
False
|
||||
|
||||
#9
|
||||
>>> stroka='Микропроцессорная система управления';stroka
|
||||
'Микропроцессорная система управления'
|
||||
>>> dir(stroka)
|
||||
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__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
|
||||
>>> stroka.find('пр')
|
||||
5
|
||||
>>> stroka.count('с')
|
||||
4
|
||||
>>> stroka.replace('у','автоматического у')
|
||||
'Микропроцессорная система автоматического управления'
|
||||
>>> spis22=stroka.split(' ');spis22
|
||||
['Микропроцессорная', 'система', 'управления']
|
||||
>>> stroka.upper()
|
||||
'МИКРОПРОЦЕССОРНАЯ СИСТЕМА УПРАВЛЕНИЯ'
|
||||
>>> stroka3=" ".join(spis22);stroka3
|
||||
'Микропроцессорная система управления'
|
||||
>>> stroka3.partition("с")
|
||||
('Микропроце', 'с', 'сорная система управления')
|
||||
>>> stroka3.rpartition("с")
|
||||
('Микропроцессорная си', 'с', 'тема управления')
|
||||
>>> strk1='Момент времени {}, значение = {}';strk1
|
||||
'Момент времени {}, значение = {}'
|
||||
>>> strk1.format(1,89.7)
|
||||
'Момент времени 1, значение = 89.7'
|
||||
>>> strk2='Момент времени {1}, значение = {0}:{2}';strk2
|
||||
'Момент времени {1}, значение = {0}:{2}'
|
||||
>>> strk2.format(36.7,2,'норма!')
|
||||
'Момент времени 2, значение = 36.7:норма!'
|
||||
>>> strk3='Момент времени {num}, значение = {znch}';strk3
|
||||
'Момент времени {num}, значение = {znch}'
|
||||
>>> strk3.format(znch=89.7,num=2)
|
||||
'Момент времени 2, значение = 89.7'
|
||||
|
||||
#9.2
|
||||
>>> spsk=[123,'lala',False,'abc','12'];spsk
|
||||
[123, 'lala', False, 'abc', '12']
|
||||
>>> spsk.pop(2);spsk
|
||||
False
|
||||
[123, 'lala', 'abc', '12']
|
||||
>>> spsk.append('c');spsk
|
||||
[123, 'lala', 'abc', '12', 'c']
|
||||
>>> spsk.insert(2,'a');spsk
|
||||
[123, 'lala', 'a', 'abc', '12', 'c']
|
||||
>>> spsk.count('a');spsk
|
||||
1
|
||||
[123, 'lala', 'a', 'abc', '12', 'c']
|
||||
|
||||
#9.3
|
||||
>>> k=(3+3j,'oo',1,'324','hello');k
|
||||
((3+3j), 'oo', 1, '324', 'hello')
|
||||
>>> k.count(3)
|
||||
0
|
||||
>>> k.count(1)
|
||||
1
|
||||
>>> k.index(1)
|
||||
2
|
||||
>>> len(k)
|
||||
5
|
||||
>>> k[0]
|
||||
(3+3j)
|
||||
|
||||
#9.4
|
||||
>>> sl={'a':1,'b':2,'c':3,'d':4,'e':5};sl
|
||||
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
|
||||
>>> sl.keys()
|
||||
dict_keys(['a', 'b', 'c', 'd', 'e'])
|
||||
>>> sl.values()
|
||||
dict_values([1, 2, 3, 4, 5])
|
||||
>>> sl.get('a')
|
||||
1
|
||||
>>> sl.update({'e':150});sl
|
||||
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 150}
|
||||
>>> sl.pop('b');sl
|
||||
2
|
||||
{'a': 1, 'c': 3, 'd': 4, 'e': 150}
|
||||
>>> sl.clear();sl
|
||||
{}
|
||||
>>> mn={1,11,'lo',11,'mnoz','123','mnoz'};mn
|
||||
{'123', 1, 'mnoz', 11, 'lo'}
|
||||
>>> mn.add(2);mn
|
||||
{'123', 1, 2, 'mnoz', 11, 'lo'}
|
||||
>>> mn.remove(1);mn
|
||||
{'123', 2, 'mnoz', 11, 'lo'}
|
||||
>>> mn.pop();mn #удаляет случайный элемент
|
||||
'123'
|
||||
{2, 'mnoz', 11, 'lo'}
|
||||
>>> mn.clear();mn
|
||||
set()
|
||||
|
||||
#10 Завершение работы со средой
|
||||
@ -0,0 +1,670 @@
|
||||
# Отчёт по Теме 3
|
||||
|
||||
Кузьменко Елена, А-02-23
|
||||
|
||||
## 1. Запустили интерактивную оболочку IDLE.
|
||||
|
||||
## 2. Преобразование простых базовых типов объектов.
|
||||
|
||||
### 2.1. Логический тип.
|
||||
|
||||
```py
|
||||
>>> logiz1=bool(56); logiz1
|
||||
True
|
||||
>>> logiz2=bool(0); logiz2
|
||||
False
|
||||
>>> logiz3=bool("Beta");logiz3
|
||||
True
|
||||
>>> logiz4=bool("");logiz4
|
||||
False
|
||||
```
|
||||
|
||||
### 2.2. Целое десятичное число с заданной системой счисления.
|
||||
|
||||
```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#10>", line 1, in <module>
|
||||
tt5=int("98.76");tt5
|
||||
ValueError: invalid literal for int() with base 10: '98.76'
|
||||
```
|
||||
|
||||
Нельзя напрямую преобразовать строку с дробным числом в целое число, так как int() не принимает строки с точкой.
|
||||
|
||||
```py
|
||||
>>> tt5=int(float("98.76"));tt5
|
||||
98
|
||||
```
|
||||
|
||||
### 2.3. Другие системы счисления.
|
||||
|
||||
```py
|
||||
>>> hh=123
|
||||
>>> dv1=bin(hh);dv1
|
||||
'0b1111011'
|
||||
>>> vos1=oct(hh);vos1
|
||||
'0o173'
|
||||
>>> shs1=hex(hh);shs1
|
||||
'0x7b'
|
||||
>>> pr_dv1=int(dv1);pr_dv1
|
||||
```
|
||||
|
||||
Проверка:
|
||||
|
||||
```py
|
||||
>>> pr_dv1=int(dv1,2);pr_dv1
|
||||
123
|
||||
>>> pr_vos1=int(vos1,8);pr_vos1
|
||||
123
|
||||
>>> pr_shs1=int(shs1,16);pr_shs1
|
||||
123
|
||||
```
|
||||
|
||||
## 3. Преобразование более сложных базовых типов объектов.
|
||||
|
||||
### 3.1. Строка символов
|
||||
|
||||
```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. Элементы объекта в список
|
||||
|
||||
```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']
|
||||
```
|
||||
|
||||
В список попали только ключи словаря. Сделаем список со значениями:
|
||||
|
||||
```py
|
||||
>>> spis4=list({"A":1,"B":2,"C":9}.values());spis4
|
||||
[1, 2, 9]
|
||||
```
|
||||
|
||||
### 3.3 Элементы в кортеж
|
||||
|
||||
```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 Удаление объекта
|
||||
|
||||
```py
|
||||
>>> del strk5,kort8
|
||||
>>> dir()
|
||||
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'dv1', 'hh', 'kort7', 'kort9', 'logiz1', 'logiz2', 'logiz3', 'logiz4', 'pr_dv1', 'pr_shs1', 'pr_vos1', 'shs1', 'spis1', 'spis2', 'spis3', 'spis4', 'strk1', 'strk2', 'strk3', 'strk4', 'tt1', 'tt2', 'tt3', 'tt4', 'tt5', 'vos1']
|
||||
>>> dir(strk5)
|
||||
Traceback (most recent call last):
|
||||
File "<pyshell#36>", line 1, in <module>
|
||||
dir(strk5)
|
||||
NameError: name 'strk5' is not defined
|
||||
>>> dir(kort8)
|
||||
Traceback (most recent call last):
|
||||
File "<pyshell#37>", line 1, in <module>
|
||||
dir(kort8)
|
||||
NameError: name 'kort8' is not defined
|
||||
```
|
||||
|
||||
```py
|
||||
>>> name="Kuzmenko E.A.";name
|
||||
'Kuzmenko E.A.'
|
||||
>>> name_list=list(name);name_list
|
||||
['K', 'u', 'z', 'm', 'e', 'n', 'k', 'o', ' ', 'E', '.', 'A', '.']
|
||||
>>> name_kort=tuple(name_list);name_kort
|
||||
('K', 'u', 'z', 'm', 'e', 'n', 'k', 'o', ' ', 'E', '.', 'A', '.')
|
||||
>>> name_str=str(name_kort);name_str
|
||||
"('K', 'u', 'z', 'm', 'e', 'n', 'k', 'o', ' ', 'E', '.', 'A', '.')"
|
||||
>>> print(name_str)
|
||||
('K', 'u', 'z', 'm', 'e', 'n', 'k', 'o', ' ', 'E', '.', 'A', '.')
|
||||
```
|
||||
|
||||
## 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;type(a)
|
||||
<class 'float'>
|
||||
>>> a
|
||||
3.9555555555555557
|
||||
```
|
||||
|
||||
### 4.4. Деление с округлением
|
||||
|
||||
```py
|
||||
>>> b=178//45;b;type(b)
|
||||
3
|
||||
<class 'int'>
|
||||
>>> c=-24.6//12.1;c;type(c)
|
||||
-3.0
|
||||
<class 'float'>
|
||||
>>> b1=178//12.1;b1;type(b1)
|
||||
14.0 #без округления 14.710743801652892
|
||||
<class 'float'>
|
||||
>>> c1=-24.6//45;c1;type(c1)
|
||||
-1.0 #без округления -0.5466666666666667
|
||||
<class 'float'>
|
||||
>>> c2=-24.6/45;c2
|
||||
-0.5466666666666667
|
||||
```
|
||||
|
||||
### 4.5. Остаток от деления
|
||||
|
||||
```py
|
||||
>>> A=148/33;A1=148%33;A,A1;type(A),type(A1)
|
||||
(4.484848484848484, 16)
|
||||
(<class 'float'>, <class 'int'>)
|
||||
>>> B=12.6/3.8;B1=12.6%3.8;B;B1;type(B);type(B1)
|
||||
3.3157894736842106
|
||||
1.2000000000000002
|
||||
<class 'float'>
|
||||
<class 'float'>
|
||||
>>> C=148/3.8;C1=148%3.8;C;C1;type(C);type(C1)
|
||||
38.94736842105263
|
||||
3.6000000000000068
|
||||
<class 'float'>
|
||||
<class 'float'>
|
||||
>>> D=12.6/33;D1=12.6%33;D;D1;type(D);type(D1)
|
||||
0.38181818181818183
|
||||
12.6
|
||||
<class 'float'>
|
||||
<class 'float'>
|
||||
```
|
||||
|
||||
### 4.6. Степень числа
|
||||
|
||||
```py
|
||||
>>> 14**3
|
||||
2744
|
||||
>>> e=2.7**3.6;e;type(e)
|
||||
35.719843790663525
|
||||
<class 'float'>
|
||||
>>> 14**3.6
|
||||
13367.830445904418
|
||||
>>> e1=2.7**3;e1;type(e1)
|
||||
19.683000000000003
|
||||
<class 'float'>
|
||||
```
|
||||
|
||||
Операции с комплексными числами:
|
||||
|
||||
```py
|
||||
>>> z=12+13j;z1=9-3j;z;z1;type(z);type(z1)
|
||||
(12+13j)
|
||||
(9-3j)
|
||||
<class 'complex'>
|
||||
<class 'complex'>
|
||||
>>> z+z1
|
||||
(21+10j)
|
||||
>>> z-z1
|
||||
(3+16j)
|
||||
>>> z*z1
|
||||
(147+81j)
|
||||
>>> z/z1
|
||||
(0.7666666666666667+1.7j)
|
||||
>>> z//z1
|
||||
Traceback (most recent call last):
|
||||
File "<pyshell#80>", line 1, in <module>
|
||||
z//z1
|
||||
TypeError: can't take floor of complex number.
|
||||
>>> z%z1
|
||||
Traceback (most recent call last):
|
||||
File "<pyshell#81>", line 1, in <module>
|
||||
z%z1
|
||||
TypeError: can't mod complex numbers.
|
||||
>>> z**z1
|
||||
(748985013590.2666-1875851778010.0532j)
|
||||
```
|
||||
|
||||
Комплексные числа не поддерживают операции // и % потому что они не упорядочены, то есть у них нет понятия больше или меньше, необходимого для округления и вычисления остатка.
|
||||
|
||||
## 5. Двоичные представления целых чисел
|
||||
|
||||
### 5.1. Инверсия
|
||||
|
||||
```py
|
||||
>>> dv1=9;dv1
|
||||
9
|
||||
>>> dv2=~dv1;dv2
|
||||
-10
|
||||
>>> dv11=3;dv22=~dv11;dv22
|
||||
-4
|
||||
```
|
||||
|
||||
### 5.2. "И"
|
||||
|
||||
```py
|
||||
>>> 7&9 #111 и 1001 = 0001
|
||||
1
|
||||
>>> 7&8 #111 и 1000 = 0000
|
||||
0
|
||||
>>> 3&7 #0011(бинарное) и 0111(бинарное) = 0011, то есть 3(десятичное)
|
||||
3
|
||||
```
|
||||
|
||||
### 5.3. "ИЛИ"
|
||||
|
||||
```py
|
||||
>>> 7|9 #0111 или 1001
|
||||
15 #1111
|
||||
>>> 7|8 #111 или 1000
|
||||
15 #1111
|
||||
>>> 14|5 #1110 или 0101
|
||||
15 #1111
|
||||
```
|
||||
|
||||
### 5.4. Исключающее "ИЛИ"
|
||||
|
||||
1 если биты разные, 0 если одинаковые:
|
||||
|
||||
```py
|
||||
>>> 14^5 #1110 искл.или 0101
|
||||
11 #1011
|
||||
```
|
||||
|
||||
### 5.5. Сдвиг двоичного числа
|
||||
|
||||
```py
|
||||
>>> h=14;h;g=h<<2;bin(h);g;bin(g)
|
||||
14
|
||||
'0b1110'
|
||||
56
|
||||
'0b111000'
|
||||
>>> g1=h>>1;g1;bin(g1)
|
||||
7
|
||||
'0b111'
|
||||
>>> g2=h>>2;g2;bin(g2)
|
||||
3
|
||||
'0b11'
|
||||
>>> h1=75;h1;bin(75)
|
||||
75
|
||||
'0b1001011'
|
||||
>>> j1=h1>>4;j1;bin(j1)
|
||||
4
|
||||
'0b100'
|
||||
>>> j2=h1<<3;j2;bin(j2)
|
||||
600
|
||||
'0b1001011000'
|
||||
```
|
||||
|
||||
## 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
|
||||
('кис', '-', 'кис', '-', 'кис', '-', 'кис', '-')
|
||||
>>> 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. Подстановка значений
|
||||
|
||||
```py
|
||||
>>> stroka='Температура = %g %s %g';stroka
|
||||
'Температура = %g %s %g'
|
||||
>>> stroka % (16,' меньше ',25);stroka
|
||||
'Температура = 16 меньше 25'
|
||||
'Температура = %g %s %g'
|
||||
>>> stroka1='Температура = %(zn1)g %(sravn)s %(zn2)g';stroka1
|
||||
'Температура = %(zn1)g %(sravn)s %(zn2)g'
|
||||
>>> stroka1 % {'zn1':16,'sravn':' меньше ','zn2':25}
|
||||
'Температура = 16 меньше 25'
|
||||
```
|
||||
|
||||
## 7. Присваивание
|
||||
|
||||
### 7.1. Обычное
|
||||
|
||||
```py
|
||||
>>> zz=-12;zz
|
||||
-12
|
||||
```
|
||||
|
||||
### 7.2 Увеличение и уменьшение значения
|
||||
|
||||
```py
|
||||
>>> zz=-12;zz
|
||||
-12
|
||||
>>> zz+=5;zz
|
||||
-7
|
||||
>>> zz-=3;zz
|
||||
-10
|
||||
>>> stroka2='Система'; stroka2
|
||||
'Система'
|
||||
>>> stroka2+=' регулирования';stroka2
|
||||
'Система регулирования'
|
||||
```
|
||||
### 7.3. Умножение и деление значения
|
||||
|
||||
```py
|
||||
>>> zz;zz/=2;zz
|
||||
-10
|
||||
-5.0
|
||||
>>> zz*=5;zz
|
||||
-25.0
|
||||
>>> stroka2*=3;stroka2
|
||||
'Система регулированияСистема регулированияСистема регулирования'
|
||||
```
|
||||
|
||||
### 7.4. Деление с округлением, остаток, степень
|
||||
|
||||
```py
|
||||
>>> zz;zz//=4;zz
|
||||
-25.0
|
||||
-7.0
|
||||
>>> zz**=2;zz
|
||||
49.0
|
||||
>>> zz%=5;zz
|
||||
4.0
|
||||
```
|
||||
|
||||
### 7.5. Множественное присваивание
|
||||
|
||||
```py
|
||||
>>> n1,n2,v3=(11,-3,'all');n1;n2;n3
|
||||
11
|
||||
-3
|
||||
'all'
|
||||
>>> n1,n2,n3="11","-3","all";n1;n2;n3
|
||||
'11'
|
||||
'-3'
|
||||
'all'
|
||||
>>> n1,n2,n3=[11,-3,'all'];n1;n2;n3
|
||||
11
|
||||
-3
|
||||
'all'
|
||||
>>> n1,n2,n3={11:1,-3:2,'all':3};n1;n2;n3
|
||||
11
|
||||
-3
|
||||
'all'
|
||||
>>> n1,n2,n3={11,-3,'all',-3,11};n1;n2;n3
|
||||
11
|
||||
'all'
|
||||
-3
|
||||
```
|
||||
|
||||
## 8. Логические операции
|
||||
|
||||
### 8.1. Сравнение
|
||||
|
||||
```py
|
||||
>>> w=15;v=-10;w;v
|
||||
15
|
||||
-10
|
||||
>>> w==v
|
||||
False
|
||||
>>> w!=v
|
||||
True
|
||||
>>> w<v
|
||||
False
|
||||
>>> w>v
|
||||
True
|
||||
>>> w>=v
|
||||
True
|
||||
>>> w<=v
|
||||
False
|
||||
>>> w1='abcd';v1='aloaloalo'
|
||||
>>> w1==v1
|
||||
False
|
||||
>>> w1>v1
|
||||
False
|
||||
>>> w1<v1
|
||||
True
|
||||
```
|
||||
|
||||
### 8.2. Наличие элемента
|
||||
|
||||
```py
|
||||
>>> mnoz1={'pen','book','pen','iPhone','table','book'};mnoz1
|
||||
{'iPhone', 'pen', 'book', 'table'}
|
||||
>>> 'book' in mnoz1
|
||||
True
|
||||
>>> 'cap' in mnoz1
|
||||
False
|
||||
>>> dic1={'Saratov':145, 'Orel':56, 'Vologda':45};dic1
|
||||
{'Saratov': 145, 'Orel': 56, 'Vologda': 45}
|
||||
>>> 'Vologda' in dic1
|
||||
True
|
||||
>>> 'Pskov' in dic1
|
||||
False
|
||||
>>> dct1={'Institut':['AVTI','IEE','IBB'],'Depart':['UII','PM','VMSS','MM'],'gruppa': ['A-01-15','A-02-15']};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
|
||||
>>> not (a==b) or ('pen' in mnoz1) and ('Depart' in dct1)
|
||||
True
|
||||
>>> not ('pen' in mnoz1) or not (a<b) and ('Depart' in dct1)
|
||||
True
|
||||
```
|
||||
|
||||
### 8.4. Ссылки переменных на тот же объект
|
||||
|
||||
```py
|
||||
>>> w=v=10
|
||||
>>> w;v
|
||||
10
|
||||
10
|
||||
>>> w is v
|
||||
True
|
||||
>>> w1=['A','B'];v1=['A','B']
|
||||
>>> w1 is v1
|
||||
False
|
||||
```
|
||||
|
||||
В первом случае w и v ссылаются на один и тот же объект, поэтому проверка выдаёт True. Для второго случая создаётся два разных списка, каждый из которых занимают свою ячейку памяти(по отдельности друг от друга и без ссылок), поэтому как "разные объекты" результат - False.
|
||||
|
||||
## 9. Методы для операций с объектами
|
||||
|
||||
```py
|
||||
>>> stroka='Микропроцессорная система управления';stroka
|
||||
'Микропроцессорная система управления'
|
||||
>>> dir(stroka)
|
||||
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__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
|
||||
'Момент времени {}, значение = {}'
|
||||
>>> strk1.format(1,89.7)
|
||||
'Момент времени 1, значение = 89.7'
|
||||
>>> strk2='Момент времени {1}, значение = {0}:{2}';strk2
|
||||
'Момент времени {1}, значение = {0}:{2}'
|
||||
>>> strk2.format(36.7,2,'норма!')
|
||||
'Момент времени 2, значение = 36.7:норма!'
|
||||
>>> strk3='Момент времени {num}, значение = {znch}';strk3
|
||||
'Момент времени {num}, значение = {znch}'
|
||||
>>> strk3.format(znch=89.7,num=2)
|
||||
'Момент времени 2, значение = 89.7'
|
||||
```
|
||||
|
||||
### 9.2. Работа со списками
|
||||
|
||||
```py
|
||||
>>> spsk=[123,'lala',False,'abc','12'];spsk
|
||||
[123, 'lala', False, 'abc', '12']
|
||||
>>> dir(spsk)
|
||||
['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
|
||||
>>> spsk.pop(2);spsk
|
||||
False
|
||||
[123, 'lala', 'abc', '12']
|
||||
>>> spsk.append('c');spsk
|
||||
[123, 'lala', 'abc', '12', 'c']
|
||||
>>> spsk.insert(2,'a');spsk
|
||||
[123, 'lala', 'a', 'abc', '12', 'c']
|
||||
>>> spsk.count('a');spsk
|
||||
1
|
||||
[123, 'lala', 'a', 'abc', '12', 'c']
|
||||
```
|
||||
|
||||
### 9.3. Кортеж
|
||||
|
||||
```py
|
||||
>>> k=(3+3j,'oo',1,'324','hello');k
|
||||
((3+3j), 'oo', 1, '324', 'hello')
|
||||
>>> dir(k)
|
||||
['__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']
|
||||
>>> k.count(3)
|
||||
0
|
||||
>>> k.count(1)
|
||||
1
|
||||
>>> k.index(1)
|
||||
2
|
||||
>>> len(k)
|
||||
5
|
||||
>>> k[0]
|
||||
(3+3j)
|
||||
```
|
||||
|
||||
### 9.4. Словарь и множество
|
||||
|
||||
Словарь
|
||||
|
||||
```py
|
||||
>>> sl={'a':1,'b':2,'c':3,'d':4,'e':5};sl
|
||||
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
|
||||
>>> 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.keys()
|
||||
dict_keys(['a', 'b', 'c', 'd', 'e'])
|
||||
>>> sl.values()
|
||||
dict_values([1, 2, 3, 4, 5])
|
||||
>>> sl.get('a')
|
||||
1
|
||||
>>> sl.update({'e':150});sl
|
||||
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 150}
|
||||
>>> sl.pop('b');sl
|
||||
2
|
||||
{'a': 1, 'c': 3, 'd': 4, 'e': 150}
|
||||
>>> sl.clear();sl
|
||||
{}
|
||||
```
|
||||
Множество
|
||||
|
||||
```py
|
||||
>>> mn={1,11,'lo',11,'mnoz','123','mnoz'};mn
|
||||
>>> dir(mn)
|
||||
['__and__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__iand__', '__init__', '__init_subclass__', '__ior__', '__isub__', '__iter__', '__ixor__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__xor__', 'add', 'clear', 'copy', 'difference', 'difference_update', 'discard', 'intersection', 'intersection_update', 'isdisjoint', 'issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update']
|
||||
{'123', 1, 'mnoz', 11, 'lo'}
|
||||
>>> mn.add(2);mn
|
||||
{'123', 1, 2, 'mnoz', 11, 'lo'}
|
||||
>>> mn.remove(1);mn
|
||||
{'123', 2, 'mnoz', 11, 'lo'}
|
||||
>>> mn.pop();mn #удаляет случайный элемент
|
||||
'123'
|
||||
{2, 'mnoz', 11, 'lo'}
|
||||
>>> mn.clear();mn
|
||||
set()
|
||||
```
|
||||
## 10. Сеанс работы с IDLE закончен
|
||||
@ -0,0 +1,79 @@
|
||||
## Общее контрольное задание по Теме 3
|
||||
|
||||
Кузьменко Елена, А-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) Создать объект - символьную строку с текстом данного предложения. Из символьной строки создать список, элементами которого будут отдельные слова из созданной строки. Заменить в списке элемент «-» на «,». Удалить из списка элемент со значением «данного». Отобразить получившийся список.
|
||||
|
||||
## Решение
|
||||
|
||||
### 1)Преобразовать восьмеричное значение 45 в целое число.
|
||||
|
||||
```py
|
||||
>>> vs=int('45',8);vs
|
||||
37
|
||||
```
|
||||
|
||||
### 2)Создание объекта-словаря D
|
||||
|
||||
```py
|
||||
>>> D={"усиление":23, "запаздывание":12, "постоянная времени":78};D
|
||||
{'усиление': 23, 'запаздывание': 12, 'постоянная времени': 78}
|
||||
>>> k_list=list(D.keys());v_list=list(D.values());k_list;v_list
|
||||
['усиление', 'запаздывание', 'постоянная времени']
|
||||
[23, 12, 78]
|
||||
```
|
||||
|
||||
### 3)Работа с выражение №1
|
||||
|
||||
```py
|
||||
>>> a=(1768//24.8%3)**2.4;a
|
||||
5.278031643091577
|
||||
```
|
||||
|
||||
### 4)Работа с выражение №2
|
||||
|
||||
```py
|
||||
>>> b=~((13&27)^14)<<2;b
|
||||
-32
|
||||
```
|
||||
|
||||
### 5)Создание списка с 4 одинаковыми элементами
|
||||
|
||||
```py
|
||||
>>> sp=['колебат']*4;sp
|
||||
['колебат', 'колебат', 'колебат', 'колебат']
|
||||
>>> 'аткол' in (sp[1]+sp[2])
|
||||
True
|
||||
```
|
||||
|
||||
### 6)Список методов
|
||||
|
||||
```py
|
||||
>>> dir(D)
|
||||
['__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__ior__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__ror__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
|
||||
>>> D.keys();D.values()
|
||||
dict_keys(['усиление', 'запаздывание', 'постоянная времени'])
|
||||
dict_values([23, 12, 78])
|
||||
```
|
||||
|
||||
### 7) Создание объекта-символьная строка
|
||||
|
||||
```py
|
||||
>>> t="Создать объект - символьную строку с текстом данного предложения.";t
|
||||
'Создать объект - символьную строку с текстом данного предложения.'
|
||||
>>> w=t.split();w
|
||||
['Создать', 'объект', '-', 'символьную', 'строку', 'с', 'текстом', 'данного', 'предложения.']
|
||||
>>> w[w.index('-')]=',';w
|
||||
['Создать', 'объект', ',', 'символьную', 'строку', 'с', 'текстом', 'данного', 'предложения.']
|
||||
>>> w.remove('данного');w
|
||||
['Создать', 'объект', ',', 'символьную', 'строку', 'с', 'текстом', 'предложения.']
|
||||
```
|
||||
@ -0,0 +1,75 @@
|
||||
# Индивидуальное контрольное задание по Модулю 1
|
||||
|
||||
Кузьменко Елена, А-02-23, Вариант 11
|
||||
|
||||
## Задание
|
||||
|
||||
1) Для чего предназначено предложение "Окно (Window)" главного меню?
|
||||
|
||||
2) Создайте объект-кортеж с 5 произвольными двоичными элементами. Напишите инструкцию, доказывающую, что создан объект именно требуемого типа. Напишите инструкцию отображения списка атрибутов созданного объекта.
|
||||
|
||||
3) Напишите инструкцию создания нового кортежа, в который включите два последних элемента ранее созданного кортежа, и два элемента - символы "a" и "b". Отобразите созданный объект на экране.
|
||||
|
||||
4) Преобразуйте кортеж в список. Вставьте в качестве второго элемента списка значение "Автоматизированная система". Отобразите полученный объект. Напишите инструкцию, создающую символьную строку со значением, равным символам из вставленного элемента, начиная с 19-го.
|
||||
|
||||
5) Напишите инструкции, обеспечивающие подсчет суммы числовых элементов кортежа. С использованием формата отобразите результат по шаблону: "Сумма элементов=:".
|
||||
|
||||
## Решение
|
||||
|
||||
### 1)Предназначения "Окна(Windows)" главного меню
|
||||
|
||||
"Window" предназначен для быстрого переключения между открытыми окнами среды. Например, это удобно использовать, если наша работа требует несколько текстовых редакторов, разбросанных по разным файлам, тогда по названию можно быстро переключиться на нужный.
|
||||
|
||||
### 2)Объект-кортеж
|
||||
|
||||
```py
|
||||
>>> n1=bin(2); n2=bin(15); n3=bin(12); n4=bin(43); n5=bin(95)
|
||||
>>> n1; n2; n3; n4; n5
|
||||
'0b10'
|
||||
'0b1111'
|
||||
'0b1100'
|
||||
'0b101011'
|
||||
'0b1011111'
|
||||
>>> type(n1)
|
||||
<class 'str'> #str, а не bin. В кортеж добавим двоичные элементы(не строковые)
|
||||
>>> k=(0b10,0b1111,0b1100,0b101011,0b1011111); k #Кортеж способен выполнять действия с числами. В данном случае он bin преобразует в int
|
||||
(2, 15, 12, 43, 95)
|
||||
>>> type(k); dir(k)
|
||||
<class 'tuple'>
|
||||
['__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']
|
||||
```
|
||||
|
||||
### 3)Новый кортеж
|
||||
|
||||
```py
|
||||
>>> new_k=k[-2:]+('a','b'); new_k
|
||||
(43, 95, 'a', 'b')
|
||||
```
|
||||
|
||||
### 4)Преобразование в список
|
||||
|
||||
```py
|
||||
l=list(new_k); l
|
||||
[43, 95, 'a', 'b']
|
||||
l.insert(1,'Автоматизированная система') # 1 - второй элемент
|
||||
l
|
||||
[43, 'Автоматизированная система', 95, 'a', 'b']
|
||||
new_str=l[1][18:]; new_str # [1] - второй элемент списка, [18:] - начиная с 19 элемента
|
||||
' система'
|
||||
```
|
||||
|
||||
### 5)Подсчет суммы кортежа
|
||||
|
||||
```py
|
||||
#Так как я знаю, что последние два элемента НЕ числа(они мешают применить инструкцию sum), с помощью среза я избавлюсь от строк для подсчета числовых элементов кортежа(числ эл. - все, за исключением последних двух).
|
||||
|
||||
>>> sum1=sum(new_k[:2]); sum1 # 43+95
|
||||
138
|
||||
|
||||
#Альтернативное решение можно представить с циклом for и if(необходимо, если неизвество на каких местах строки и числа), однако данная тема ещё не была пройдена. В рамках данного задания известно под какими индеками находятся те или иные элементы.
|
||||
>>> itog="Сумма элементов=: {}"; itog
|
||||
'Сумма элементов=: {}'
|
||||
>>> itog.format(sum1)
|
||||
'Сумма элементов=: 138'
|
||||
```
|
||||
|
||||
|
После Ширина: | Высота: | Размер: 18 KiB |
|
После Ширина: | Высота: | Размер: 24 KiB |
|
После Ширина: | Высота: | Размер: 13 KiB |
|
После Ширина: | Высота: | Размер: 7.0 KiB |
|
После Ширина: | Высота: | Размер: 6.5 KiB |
@ -0,0 +1,307 @@
|
||||
# Отчёт по Теме 4
|
||||
|
||||
Кузьменко Елена, А-02-23
|
||||
|
||||
## 1. Запустили интерактивную оболочку IDLE.
|
||||
|
||||
## 2.Стандартные функции.
|
||||
|
||||
### 2.1.Округление числа с заданной точностью.
|
||||
|
||||
```py
|
||||
>>> a = round(123.456,1); a; type(a)
|
||||
123.5
|
||||
<class 'float'>
|
||||
>>> a1 = round(123.456,0); a1; type(a1)
|
||||
123.0
|
||||
<class 'float'>
|
||||
>>> a2 = round(123.456); a2; type(a2)
|
||||
123
|
||||
<class 'int'>
|
||||
```
|
||||
|
||||
### 2.2. Последовательные целые числа.
|
||||
|
||||
```py
|
||||
>>> gg = range(76,123,9); gg; type(gg) #От 76 до 123 с шагом 9
|
||||
range(76, 123, 9)
|
||||
<class 'range'>
|
||||
>>> list(gg)
|
||||
[76, 85, 94, 103, 112, 121]
|
||||
>>> gg1 = range(23); gg1 #Создаёт последовательность от 0 до 23 с шагом 1
|
||||
range(0, 23)
|
||||
>>> list(range(23))
|
||||
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22]
|
||||
```
|
||||
|
||||
### 2.3.Общий объект.
|
||||
|
||||
```py
|
||||
>>> qq = ["Кузьменко", "Беженарь", "Добровольска", "Криви"]; qq
|
||||
['Кузьменко', 'Беженарь', 'Добровольска', 'Криви']
|
||||
>>> ff = zip(gg,qq); ff; type(ff)
|
||||
<zip object at 0x0000014F96720F40>
|
||||
<class 'zip'>
|
||||
>>> ff1 = tuple(ff); ff1
|
||||
((76, 'Кузьменко'), (85, 'Беженарь'), (94, 'Добровольска'), (103, 'Криви'))
|
||||
>>> ff1[0]
|
||||
(76, 'Кузьменко')
|
||||
|
||||
|
||||
>>> tuple(ff)
|
||||
((76, 'Кузьменко'), (85, 'Беженарь'), (94, 'Добровольска'), (103, 'Криви'))
|
||||
>>> ff
|
||||
<zip object at 0x0000014F94622440>
|
||||
>>> ff[0]
|
||||
Traceback (most recent call last):
|
||||
File "<pyshell#32>", line 1, in <module>
|
||||
ff[0]
|
||||
TypeError: 'zip' object is not subscriptable
|
||||
```
|
||||
|
||||
### 2.4. Функция eval().
|
||||
|
||||
```py
|
||||
>>> fff = float(input('коэффициент усиления=')); dan = eval('5*fff-156')
|
||||
коэффициент усиления=32
|
||||
>>> dan; type(dan)
|
||||
4.0
|
||||
<class 'float'>
|
||||
```
|
||||
|
||||
### 2.5. Функция exec().
|
||||
|
||||
```py
|
||||
>>> exec(input('введите инструкции:'))
|
||||
введите инструкции:perem = -123.456; gg = round(abs(perem)+98,3)
|
||||
>>> gg
|
||||
221.456
|
||||
```
|
||||
eval() - возвращает результат;
|
||||
exec() - выполняет код без возврата значения.
|
||||
|
||||
### 2.6. Другие функции.
|
||||
|
||||
```py
|
||||
>>> abs(-5)
|
||||
5
|
||||
>>> pow(2,3)
|
||||
8
|
||||
>>> max(-1,5,3)
|
||||
5
|
||||
>>> min(-1,5,3)
|
||||
-1
|
||||
>>> sum([1,2,3])
|
||||
6
|
||||
>>> divmod(10,3) # частное и остаток от деления
|
||||
(3, 1)
|
||||
>>> len("sdjalad")
|
||||
7
|
||||
>>> s=map(str,[1,2,3]); s #Применяет функцию к каждому элементу итерируемого объекта
|
||||
<map object at 0x0000014F967EFDF0>
|
||||
>>> list(s)
|
||||
['1', '2', '3']
|
||||
```
|
||||
|
||||
## 3.Функции стандартного модулю math
|
||||
|
||||
```py
|
||||
>>> import math
|
||||
>>> dir(math)
|
||||
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'lcm', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'nextafter', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc', 'ulp']
|
||||
>>> help(math.factorial)
|
||||
Help on built-in function factorial in module math:
|
||||
|
||||
factorial(x, /)
|
||||
Find x!.
|
||||
|
||||
Raise a ValueError if x is negative or non-integral.
|
||||
|
||||
>>> math.factorial(5)
|
||||
120
|
||||
>>> math.sin(math.pi)
|
||||
1.2246467991473532e-16
|
||||
>>> math.acos(0.5)
|
||||
1.0471975511965979
|
||||
>>> math.degrees(math.pi)
|
||||
180.0
|
||||
>>> math.radians(180) # градусы в радианы
|
||||
3.141592653589793
|
||||
>>> math.exp(1)
|
||||
2.718281828459045
|
||||
>>> math.log(10)
|
||||
2.302585092994046
|
||||
>>> math.log10(100)
|
||||
2.0
|
||||
>>> math.sqrt(16)
|
||||
4.0
|
||||
>>> math.ceil(4.3) # Округление вверх
|
||||
5
|
||||
>>> math.floor(4.8)
|
||||
4
|
||||
```
|
||||
## 4.Модуль cmath для работы с комплексными числами.
|
||||
|
||||
```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) #фаза(угол) - arctan(b/a)
|
||||
-0.4636476090008061
|
||||
```
|
||||
|
||||
## 5.Модуль random для операций с псевдослучайными числами.
|
||||
|
||||
```py
|
||||
>>> import random
|
||||
>>> dir(random)
|
||||
['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', '_Sequence', '_Set', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_accumulate', '_acos', '_bisect', '_ceil', '_cos', '_e', '_exp', '_floor', '_inst', '_log', '_os', '_pi', '_random', '_repeat', '_sha512', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', '_warn', 'betavariate', 'choice', 'choices', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'lognormvariate', 'normalvariate', 'paretovariate', 'randbytes', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate']
|
||||
>>> help(random.seed)
|
||||
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.random() #случайное число от 0 до 1, не включая верхнюю границу
|
||||
0.08881917055800503
|
||||
>>> random.uniform(1,10) #равномерное распределение
|
||||
8.672615135853867
|
||||
>>> random.gauss(0,1) #нормальное распределение
|
||||
-1.571314734927639
|
||||
>>> random.randint(1,100) #случайное целое
|
||||
91
|
||||
>>> random.choice(['1','2','a','b'])
|
||||
'b'
|
||||
>>> s = [1,2,3,4,5]
|
||||
>>> random.shuffle(s); s
|
||||
[3, 4, 1, 2, 5]
|
||||
>>> random.sample(s,3) #случайная выборка
|
||||
[4, 5, 1]
|
||||
>>> random.betavariate(2,5) #бета-распределение
|
||||
0.22293634372615048
|
||||
>>> random.gammavariate(2,1) #гамма-распределение
|
||||
3.778718164367487
|
||||
```
|
||||
|
||||
## 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
|
||||
1760380211.648074
|
||||
>>> c2 = time.time()-c1; c2
|
||||
30.08062195777893
|
||||
>>> dat=time.gmtime(); dat
|
||||
time.struct_time(tm_year=2025, tm_mon=10, tm_mday=13, tm_hour=18, tm_min=32, tm_sec=19, tm_wday=0, tm_yday=286, tm_isdst=0)
|
||||
>>> dat.tm_mon
|
||||
10
|
||||
>>> dat.tm_min
|
||||
32
|
||||
>>> dat.tm_mday
|
||||
13
|
||||
>>> time.localtime()
|
||||
time.struct_time(tm_year=2025, tm_mon=10, tm_mday=13, tm_hour=21, tm_min=34, tm_sec=31, tm_wday=0, tm_yday=286, tm_isdst=0)
|
||||
>>> time.asctime()
|
||||
'Mon Oct 13 21:35:28 2025'
|
||||
>>> time.ctime(time.time()) #секунды в строку
|
||||
'Mon Oct 13 21:35:47 2025'
|
||||
>>> time.sleep(2) #задержка выполнения на 2 секунды
|
||||
>>> time.mktime(time.localtime()) #преобразование в секунды
|
||||
1760380623.0
|
||||
```
|
||||
|
||||
## 7.Графические функции.
|
||||
|
||||
```py
|
||||
>>> import pylab
|
||||
>>> x = list(range(-3,55,4))
|
||||
>>> t = list(range(15))
|
||||
>>> pylab.plot(t,x)
|
||||
[<matplotlib.lines.Line2D object at 0x0000019FF7371640>]
|
||||
>>> 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); pylab.plot(X2)
|
||||
[<matplotlib.lines.Line2D object at 0x0000019FFB0C0C40>]
|
||||
[<matplotlib.lines.Line2D object at 0x0000019FFB0C0F40>]
|
||||
>>> pylab.show()
|
||||
```
|
||||
|
||||

|
||||
|
||||
```py
|
||||
>>> region=['Центр','Урал','Сибирь','Юг']
|
||||
>>> naselen=[65,12,23,17]
|
||||
>>> pylab.pie(naselen,labels=region)
|
||||
([<matplotlib.patches.Wedge object at 0x0000019FFB283E20>, <matplotlib.patches.Wedge object at 0x0000019FFB283EE0>, <matplotlib.patches.Wedge object at 0x0000019FFB2AB100>, <matplotlib.patches.Wedge object at 0x0000019FFB2AB580>], [Text(-0.191013134139045, 1.0832885038559115, 'Центр'), Text(-0.861328292412156, -0.6841882582231001, 'Урал'), Text(0.04429273995539947, -1.0991078896938387, 'Сибирь'), Text(0.9873750693480946, -0.48486129194837324, 'Юг')])
|
||||
>>> pylab.show()
|
||||
```
|
||||

|
||||
|
||||
```py
|
||||
>>> X0 = [1,1,2,2,2,3,3,3,4,4,5]
|
||||
>>> pylab.hist(X0,5)
|
||||
(array([2., 3., 3., 2., 1.]), array([1. , 1.8, 2.6, 3.4, 4.2, 5. ]), <BarContainer object of 5 artists>)
|
||||
>>> pylab.show()
|
||||
```
|
||||
|
||||

|
||||
|
||||
```py
|
||||
>>> x0 = ['a','b','c']
|
||||
>>> x10 = [123,321,112]
|
||||
>>> pylab.bar(x0,x10)
|
||||
<BarContainer object of 3 artists>
|
||||
>>> pylab.show()
|
||||
```
|
||||
|
||||

|
||||
|
||||
|
||||
## 8.Модуль statistics.
|
||||
|
||||
```py
|
||||
>>> import statistics
|
||||
>>> s = [123, 49, 3, 16, 8, 10, 9]
|
||||
>>> statistics.mean(s) # среднее
|
||||
31.142857142857142
|
||||
>>> statistics.median(s) # медиана
|
||||
10
|
||||
>>> statistics.stdev(s) # стандартное отклонение
|
||||
43.30291973000039
|
||||
>>> statistics.variance(s) # дисперсия
|
||||
1875.1428571428573
|
||||
>>> s1 = [123, 49, 3, 3, 3, 16, 8, 8, 10, 9]
|
||||
>>> statistics.mode(s1) # мода
|
||||
3
|
||||
```
|
||||
|
||||
## 9.Завершение работы со средой.
|
||||
@ -0,0 +1,80 @@
|
||||
## Общее контрольное задание по Теме 4
|
||||
|
||||
Кузьменко Елена, А-02-23
|
||||
|
||||
## Задание
|
||||
|
||||
1)Напишите и исполните единое выражение, реализующее последовательное выполнение следующих операций: вычисление фазы комплексного числа 0.2+0.8j, округление результата до двух знаков после запятой, умножение полученного значения на 20, получение кортежа из двух значений: округленное вниз значение от деления результата на 3 и остатка от этого деления.
|
||||
|
||||
2)Создайте объект класса struct_time с временными параметрами для текущего московского времени. Создайте строку с текущим часом и минутами.
|
||||
|
||||
3)Создайте список с элементами – названиями дней недели. Сделайте случайную выборку из этого списка с тремя днями недели.
|
||||
|
||||
4)Напишите инструкцию случайного выбора числа из последовательности целых чисел от 14 до 32 с шагом 3.
|
||||
|
||||
5)Сгенерируйте нормально распределенное число N с математическим ожиданием 15 и стандартным отклонением 4 и округлите его до целого значения. Создайте список с N элементами – случайно выбранными буквами латинского алфавита.
|
||||
|
||||
6)Напишите инструкцию для определения временного интервала в минутах, прошедшего с момента предыдущего (из п.2) определения временных параметров.
|
||||
|
||||
|
||||
## Решение
|
||||
|
||||
### 1.Исполнение выражения.
|
||||
|
||||
```py
|
||||
>>> import math
|
||||
>>> import cmath
|
||||
>>> divmod(math.floor(round(cmath.phase( 0.2+0.8j ), 2)) * 20), 3)
|
||||
(8, 2)
|
||||
```
|
||||
|
||||
### 2.Объект с временными параметрами.
|
||||
|
||||
```py
|
||||
>>> import time
|
||||
>>> t = time.gmtime(time.time() + 3 * 3600); t
|
||||
>>> time.struct_time(tm_year=2025, tm_mon=10, tm_mday=20, tm_hour=10, tm_min=36, tm_sec=20, tm_wday=0, tm_yday=293, tm_isdst=0)
|
||||
>>> print('часов: ' + str(t.tm_hour) + '\nминут: ' + str(t.tm_min))
|
||||
>>> часов: 10
|
||||
>>> минут: 36
|
||||
```
|
||||
|
||||
### 3.Список.Случайная выборка.
|
||||
|
||||
```py
|
||||
>>> import random
|
||||
>>> days = ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье']
|
||||
>>> v = random.sample(days,3); v
|
||||
['Понедельник', 'Четверг', 'Пятница']
|
||||
```
|
||||
|
||||
### 4.Случайный выбор чисел из последовательности.
|
||||
|
||||
```py
|
||||
>>> r1 = random.choice(list(range(14, 32, 3))); r1
|
||||
17
|
||||
```
|
||||
|
||||
### 5.Нормальное распределение.Список с латинскими буквами.
|
||||
|
||||
```py
|
||||
>>> n = round(random.gauss(15,4)); n
|
||||
10
|
||||
>>> alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
|
||||
>>> l = random.sample(alphabet * n, n); l
|
||||
['K', 'I', 'B', 'I', 'L', 'D', 'W', 'O', 'Q', 'X']
|
||||
```
|
||||
|
||||
### 6.Временной интервал в минутах.
|
||||
|
||||
```py
|
||||
>>> t2 = time.gmtime(time.time() + 3 * 3600); t2
|
||||
time.struct_time(tm_year=2025, tm_mon=10, tm_mday=20, tm_hour=10, tm_min=37, tm_sec=53, tm_wday=0, tm_yday=293, tm_isdst=0)
|
||||
>>> t_2 = (t2.tm_hour*3600+t2.tm_min*60+t2.tm_sec); t_2
|
||||
38273
|
||||
>>> t_1 = (t.tm_hour*3600+t.tm_min*60+t.tm_sec); t_1
|
||||
38180
|
||||
>>> t_3 = math.floor((t_2 - t_1)/60); t_3
|
||||
1
|
||||
```
|
||||
|
||||
@ -0,0 +1,45 @@
|
||||
# Индивидуальные контрольные задания по Теме 4
|
||||
|
||||
Кузьменко Елена, А-02-23
|
||||
|
||||
## Задание Вариант 6
|
||||
|
||||
1)Создайте переменную с календарными сведениями для текущего момента времени и выведите информацию в виде строки «Текущая дата: <день>-<месяц>-<год>».
|
||||
|
||||
2)Создайте объект со значением 5-2j.
|
||||
|
||||
3)Извлеките из него квадратный корень с записью результата в новый объект. Эту операцию выполните с использованием функции exec.
|
||||
|
||||
|
||||
## Решение
|
||||
|
||||
### 1)Переменная с календарными сведениями
|
||||
|
||||
```py
|
||||
import time
|
||||
|
||||
>>> t = time.localtime(); t #переменная, хранящая календарные данные
|
||||
time.struct_time(tm_year=2025, tm_mon=10, tm_mday=20, tm_hour=11, tm_min=43, tm_sec=7, tm_wday=0, tm_yday=293, tm_isdst=0)
|
||||
|
||||
>>> print(f"Текущая дата: {t.tm_mday}-{t.tm_mon}-{t.tm_year}")
|
||||
Текущая дата: 20-10-2025
|
||||
```
|
||||
|
||||
### 2)Создание объекта
|
||||
|
||||
```py
|
||||
>>> a = 5-2j; a #создаваемый объект
|
||||
(5-2j)
|
||||
>>> type(a)
|
||||
<class 'complex'>
|
||||
```
|
||||
|
||||
### 3)Квадратный корень с результатом в новый объект(использование exec())
|
||||
|
||||
```py
|
||||
>>> import cmath
|
||||
|
||||
>>> exec("a1 = cmath.sqrt(a)")
|
||||
>>> a1 #новый объект
|
||||
(2.27872385417085-0.4388421169022545j)
|
||||
```
|
||||
|
После Ширина: | Высота: | Размер: 50 KiB |
|
После Ширина: | Высота: | Размер: 19 KiB |
@ -0,0 +1,385 @@
|
||||
# Отчёт по Теме 5
|
||||
|
||||
Кузьменко Елена, А-02-23
|
||||
|
||||
## 1. Запустили интерактивную оболочку IDLE.
|
||||
|
||||
## 2.Управляющая инструкция if.
|
||||
|
||||
Первая операция. Определение значения dohod:
|
||||
|
||||
```py
|
||||
>>> porog = 5
|
||||
>>> rashod1 = 6
|
||||
>>> rashod2 = 4
|
||||
>>> if rashod1 >= porog:
|
||||
dohod = 12
|
||||
elif rashod2 == porog:
|
||||
dohod = 0
|
||||
else:
|
||||
dohod = -8
|
||||
|
||||
|
||||
>>> dohod
|
||||
12
|
||||
```
|
||||
|
||||
Вторая операция. Определение значения dohod:
|
||||
|
||||
```py
|
||||
>>> if rashod1 >= 3 and rashod2 ==4:
|
||||
dohod = rashod1
|
||||
if rashod2 == porog or rashod1 < rashod2:
|
||||
dohod = porog
|
||||
|
||||
|
||||
>>> dohod
|
||||
6
|
||||
```
|
||||
|
||||
Операция с множественным ветвлением линий потока:
|
||||
|
||||
```py
|
||||
>>> if porog == 3:
|
||||
dohod = 1
|
||||
elif porog == 4:
|
||||
dohod = 2
|
||||
elif porog == 5:
|
||||
dohod = 3
|
||||
else:
|
||||
dohod = 0
|
||||
|
||||
|
||||
>>> dohod
|
||||
3
|
||||
```
|
||||
|
||||
Инструкция в одну строчку:
|
||||
|
||||
```py
|
||||
>>> if porog >=5: rashod1 = 6; rashod2 = 0
|
||||
|
||||
>>> rashod1; rashod2
|
||||
6
|
||||
0
|
||||
```
|
||||
Или:
|
||||
```py
|
||||
>>> rashod1 = 1 if porog == 5 else 2
|
||||
>>> rashod1
|
||||
1
|
||||
```
|
||||
|
||||
## 3.Управляющая инструкция for.
|
||||
|
||||
### 3.1.Простой цикл.
|
||||
|
||||
```py
|
||||
>>> temperatura = 5
|
||||
>>> for i in range(3,18,3):
|
||||
temperatura += i
|
||||
|
||||
|
||||
>>> temperatura
|
||||
50 # 5 + цикл(3+6+9+12+15)
|
||||
```
|
||||
|
||||
### 3.2. Более сложный цикл.
|
||||
|
||||
```py
|
||||
>>> sps = [2,15,14,8]
|
||||
>>> for k in sps:
|
||||
if len(sps) <= 10: sps.append(sps[0])
|
||||
else: break
|
||||
|
||||
|
||||
>>> sps
|
||||
[2, 15, 14, 8, 2, 2, 2, 2, 2, 2, 2]
|
||||
```
|
||||
Отличающаяся совокупность операций:
|
||||
```py
|
||||
>>> sps = [2,15,14,8]
|
||||
>>> for k in sps[:]:
|
||||
if len(sps) <= 10: sps.append(sps[0])
|
||||
else: break
|
||||
|
||||
|
||||
>>> sps
|
||||
[2, 15, 14, 8, 2, 2, 2, 2]
|
||||
```
|
||||
Здесь sps[:] - копия списка sps, потому кол-во элементов не увеличвается и заканчивается на последней 4-й итерации(всего 4 элемента в sps[:]).
|
||||
|
||||
|
||||
### 3.3.Пример c созданием списка.
|
||||
|
||||
```py
|
||||
>>> import random as rn
|
||||
>>> sps5 = []
|
||||
>>> for i in range(10):
|
||||
sps5.append(rn.randint(1,100))
|
||||
ss = sum(sps5)
|
||||
if ss > 500: break
|
||||
else:
|
||||
print(ss)
|
||||
|
||||
|
||||
49
|
||||
85
|
||||
130
|
||||
195
|
||||
244
|
||||
307
|
||||
315
|
||||
396
|
||||
464
|
||||
467
|
||||
```
|
||||
|
||||
### 3.5. Пример с символьной строкой.
|
||||
|
||||
```py
|
||||
>>> stroka = 'Это - автоматизированная система'
|
||||
>>> stroka1 = ""
|
||||
>>> for ss in stroka:
|
||||
stroka1 += " " + ss
|
||||
|
||||
|
||||
>>> stroka1
|
||||
' Э т о - а в т о м а т и з и р о в а н н а я с и с т е м а'
|
||||
```
|
||||
|
||||
### 3.5.Конструкция list comprehension.
|
||||
|
||||
```py
|
||||
>>> import math
|
||||
>>> sps2 = [math.sin(i*math.pi/5+2) for i in range(100)] #выражение генератор
|
||||
>>> sps2
|
||||
[0.9092974268256817, 0.49103209793281005, -0.11479080280322804, -0.6767675184643197, -0.9802420445539634, -0.9092974268256817, -0.49103209793281016, 0.11479080280322791, 0.6767675184643196, 0.9802420445539634, 0.9092974268256818, 0.4910320979328103, -0.1147908028032278, -0.6767675184643196, -0.9802420445539632, -0.9092974268256818, -0.4910320979328104, 0.11479080280322768, 0.6767675184643195, 0.9802420445539632, 0.9092974268256819, 0.4910320979328105, -0.11479080280322579, -0.6767675184643194, -0.9802420445539632, -0.9092974268256819, -0.4910320979328106, 0.11479080280322743, 0.6767675184643193, 0.9802420445539632, 0.909297426825682, 0.49103209793281066, -0.1147908028032273, -0.6767675184643192, -0.9802420445539632, -0.909297426825682, -0.4910320979328108, 0.11479080280322719, 0.676767518464319, 0.9802420445539631, 0.9092974268256822, 0.491032097932814, -0.11479080280322707, -0.676767518464319, -0.9802420445539625, -0.9092974268256822, -0.491032097932811, 0.11479080280323047, 0.6767675184643189, 0.9802420445539625, 0.9092974268256822, 0.4910320979328142, -0.11479080280322682, -0.6767675184643214, -0.9802420445539631, -0.9092974268256808, -0.4910320979328112, 0.11479080280322317, 0.6767675184643187, 0.9802420445539624, 0.9092974268256823, 0.4910320979328082, -0.11479080280322658, -0.6767675184643213, -0.980242044553963, -0.9092974268256838, -0.49103209793281144, 0.11479080280322293, 0.6767675184643185, 0.9802420445539637, 0.9092974268256824, 0.49103209793280844, -0.11479080280322633, -0.6767675184643158, -0.980242044553963, -0.9092974268256839, -0.49103209793281166, 0.11479080280322974, 0.6767675184643184, 0.9802420445539637, 0.9092974268256825, 0.4910320979328148, -0.11479080280321903, -0.6767675184643209, -0.9802420445539629, -0.909297426825681, -0.4910320979328119, 0.11479080280322244, 0.6767675184643129, 0.9802420445539636, 0.9092974268256826, 0.49103209793281505, -0.11479080280322584, -0.6767675184643155, -0.9802420445539644, -0.9092974268256812, -0.49103209793281205, 0.1147908028032222, 0.6767675184643127, 0.980242044553965]
|
||||
```
|
||||
|
||||
Отображение графика:
|
||||
```py
|
||||
>>> import pylab
|
||||
>>> x = list(sps2)
|
||||
>>> y = list(range(100))
|
||||
>>> pylab.plot(y,x)
|
||||
[<matplotlib.lines.Line2D object at 0x000001AD2659D940>]
|
||||
>>> pylab.title('3.5.График')
|
||||
Text(0.5, 1.0, '3.5.График')
|
||||
>>> pylab.show()
|
||||
```
|
||||

|
||||
|
||||
## 4.Управляющая инструкция while.
|
||||
|
||||
### 4.1.Цикл со счетчиком.
|
||||
|
||||
```py
|
||||
>>> rashod = 300
|
||||
>>> while rashod:
|
||||
print("Расход =", rashod)
|
||||
rashod -= 50
|
||||
|
||||
|
||||
Расход = 300
|
||||
Расход = 250
|
||||
Расход = 200
|
||||
Расход = 150
|
||||
Расход = 100
|
||||
Расход = 50
|
||||
```
|
||||
Цикл останавливается, когда rashod принимает значение False, то есть rashod = 0.
|
||||
В остальных случаях 300, 250, 200... -> True
|
||||
|
||||
### 4.2.Пример с символьной строкой.
|
||||
|
||||
```py
|
||||
>>> import math
|
||||
>>> stroka = 'Расчет процесса в объекте регулирования'
|
||||
>>> i = 0
|
||||
>>> sps = []
|
||||
>>> while i < len(stroka):
|
||||
r = 1-2/(1+math.exp(0.1*i))
|
||||
sps.append(r)
|
||||
print('Значение в момент ',i," = ",r)
|
||||
i += 1
|
||||
|
||||
|
||||
Значение в момент 0 = 0.0
|
||||
Значение в момент 1 = 0.049958374957880025
|
||||
Значение в момент 2 = 0.09966799462495568
|
||||
Значение в момент 3 = 0.14888503362331795
|
||||
Значение в момент 4 = 0.197375320224904
|
||||
Значение в момент 5 = 0.2449186624037092
|
||||
Значение в момент 6 = 0.2913126124515909
|
||||
Значение в момент 7 = 0.3363755443363322
|
||||
Значение в момент 8 = 0.3799489622552249
|
||||
Значение в момент 9 = 0.421899005250008
|
||||
Значение в момент 10 = 0.4621171572600098
|
||||
Значение в момент 11 = 0.5005202111902354
|
||||
Значение в момент 12 = 0.5370495669980353
|
||||
Значение в момент 13 = 0.5716699660851172
|
||||
Значение в момент 14 = 0.6043677771171636
|
||||
Значение в момент 15 = 0.6351489523872873
|
||||
Значение в момент 16 = 0.6640367702678489
|
||||
Значение в момент 17 = 0.6910694698329307
|
||||
Значение в момент 18 = 0.7162978701990245
|
||||
Значение в момент 19 = 0.7397830512740043
|
||||
Значение в момент 20 = 0.7615941559557649
|
||||
Значение в момент 21 = 0.7818063576087741
|
||||
Значение в момент 22 = 0.8004990217606297
|
||||
Значение в момент 23 = 0.8177540779702878
|
||||
Значение в момент 24 = 0.8336546070121553
|
||||
Значение в момент 25 = 0.8482836399575129
|
||||
Значение в момент 26 = 0.8617231593133063
|
||||
Значение в момент 27 = 0.874053287886007
|
||||
Значение в момент 28 = 0.8853516482022625
|
||||
Значение в момент 29 = 0.8956928738431645
|
||||
Значение в момент 30 = 0.9051482536448664
|
||||
Значение в момент 31 = 0.9137854901178277
|
||||
Значение в момент 32 = 0.9216685544064713
|
||||
Значение в момент 33 = 0.9288576214547277
|
||||
Значение в момент 34 = 0.935409070603099
|
||||
Значение в момент 35 = 0.9413755384972874
|
||||
Значение в момент 36 = 0.9468060128462683
|
||||
Значение в момент 37 = 0.9517459571646616
|
||||
Значение в момент 38 = 0.9562374581277391
|
||||
```
|
||||
|
||||
Отображение графика:
|
||||
```py
|
||||
>>> import pylab
|
||||
>>> x = list(range(i))
|
||||
>>> y = list(sps)
|
||||
>>> pylab.plot(y,x)
|
||||
[<matplotlib.lines.Line2D object at 0x000001AD265F3B20>]
|
||||
>>> pylab.title('4.2.График')
|
||||
Text(0.5, 1.0, '4.2.График')
|
||||
>>> pylab.show()
|
||||
```
|
||||

|
||||
|
||||
### 4.3.Проверка на простое число
|
||||
|
||||
Простое число такое, которое делится на самого себя и 1.
|
||||
|
||||
```py
|
||||
>>> chislo = 267
|
||||
>>> kandidat = chislo//2 # 267//2 = 133 - максимально возможный делитель
|
||||
>>> while kandidat > 1:
|
||||
if chislo%kandidat == 0: #проверка делимости
|
||||
print(chislo, ' имеет множитель ',kandidat)
|
||||
break #выявляется ПЕРВЫЙ возможный множитель(кроме 1) и завершает цикл
|
||||
kandidat -= 1 #рассматриваем остальные числа
|
||||
else:
|
||||
print(chislo,' является простым!')
|
||||
|
||||
|
||||
267 имеет множитель 89
|
||||
```
|
||||
Программа проверка на простые числа в диапазоне от 250 до 300:
|
||||
|
||||
```py
|
||||
>>> for chislo in range(250,301):
|
||||
kandidat = chislo//2
|
||||
while kandidat > 1:
|
||||
if chislo%kandidat == 0:
|
||||
print(chislo, ' имеет множитель ',kandidat)
|
||||
break
|
||||
kandidat -= 1
|
||||
else:
|
||||
print(chislo,' является простым!')
|
||||
|
||||
|
||||
250 имеет множитель 125
|
||||
251 является простым!
|
||||
252 имеет множитель 126
|
||||
253 имеет множитель 23
|
||||
254 имеет множитель 127
|
||||
255 имеет множитель 85
|
||||
256 имеет множитель 128
|
||||
257 является простым!
|
||||
258 имеет множитель 129
|
||||
259 имеет множитель 37
|
||||
260 имеет множитель 130
|
||||
261 имеет множитель 87
|
||||
262 имеет множитель 131
|
||||
263 является простым!
|
||||
264 имеет множитель 132
|
||||
265 имеет множитель 53
|
||||
266 имеет множитель 133
|
||||
267 имеет множитель 89
|
||||
268 имеет множитель 134
|
||||
269 является простым!
|
||||
270 имеет множитель 135
|
||||
271 является простым!
|
||||
272 имеет множитель 136
|
||||
273 имеет множитель 91
|
||||
274 имеет множитель 137
|
||||
275 имеет множитель 55
|
||||
276 имеет множитель 138
|
||||
277 является простым!
|
||||
278 имеет множитель 139
|
||||
279 имеет множитель 93
|
||||
280 имеет множитель 140
|
||||
281 является простым!
|
||||
282 имеет множитель 141
|
||||
283 является простым!
|
||||
284 имеет множитель 142
|
||||
285 имеет множитель 95
|
||||
286 имеет множитель 143
|
||||
287 имеет множитель 41
|
||||
288 имеет множитель 144
|
||||
289 имеет множитель 17
|
||||
290 имеет множитель 145
|
||||
291 имеет множитель 97
|
||||
292 имеет множитель 146
|
||||
293 является простым!
|
||||
294 имеет множитель 147
|
||||
295 имеет множитель 59
|
||||
296 имеет множитель 148
|
||||
297 имеет множитель 99
|
||||
298 имеет множитель 149
|
||||
299 имеет множитель 23
|
||||
300 имеет множитель 150
|
||||
```
|
||||
|
||||
### 4.4.Инструкция continue.
|
||||
|
||||
Инструкция continue используют внутри циклов для прерывания текущей итерации и немедленного перехода к следующей.
|
||||
continue(в отличие от break) только пропускает оставшуюся часть кода и переходит к проверке условия следующей итерации.
|
||||
|
||||
### Пример с for:
|
||||
```py
|
||||
>>> sps = [2, 15, 14, 8, 3, 7, 10]
|
||||
>>> for k in sps:
|
||||
if k > 10:
|
||||
continue #пропускает число больше 10
|
||||
print(k)
|
||||
|
||||
|
||||
2
|
||||
8
|
||||
3
|
||||
7
|
||||
10
|
||||
```
|
||||
|
||||
### Пример с while:
|
||||
```py
|
||||
>>> chislo = 0
|
||||
>>> while chislo < 10:
|
||||
chislo += 1
|
||||
if chislo % 2 == 0:
|
||||
continue #пропускает, если число четное
|
||||
print(chislo)
|
||||
|
||||
|
||||
1
|
||||
3
|
||||
5
|
||||
7
|
||||
9
|
||||
```
|
||||
|
||||
## 5.Завершение работы со средой IDLE.
|
||||
@ -0,0 +1,90 @@
|
||||
## Общее контрольное задание по Теме 5
|
||||
|
||||
Кузьменко Елена, А-02-23
|
||||
|
||||
## Задание
|
||||
|
||||
Реализовать, записать в текстовый файл программы и результаты их выполнения при решении следующих задач:
|
||||
|
||||
1)Для заданной символьной строки с англоязычным текстом (его можно заимствовать из помощи) определите порядковый номер каждой буквы в английском алфавите.
|
||||
|
||||
2)Создайте список со словами из задания данного пункта. Для этого списка – определите, есть ли в нем некоторое заданное значение, и выведите соответствующее сообщение: либо о нахождении элемента, либо о его отсутствии в списке (проверить как с имеющимся, так и с отсутствующим словом).
|
||||
|
||||
3)Создайте список студентов вашей группы (3-4 фамилии) и список их средних баллов в летней сессии – в порядке перечисления студентов в первом списке. Создайте еще 2 аналогичных списка для тех же студентов, но в другом порядке, по зимней сессии. Напишите инструкции, позволяющие по указанной (запрошенной и введенной) фамилии студента вывести его средние баллы по двум сессиям.
|
||||
|
||||
## Решение
|
||||
|
||||
### 1)Определение порядкового номера каждой буквы.
|
||||
```py
|
||||
>>> str1 = "python"
|
||||
>>> alphabet = "abcdefghijklmnopqrstuvwxyz"
|
||||
>>> for i in str1:
|
||||
if i in alphabet:
|
||||
num = alphabet.index(i) + 1
|
||||
print('В алфавите буква ',i,' под номером ',num)
|
||||
else: continue
|
||||
|
||||
|
||||
В алфавите буква p под номером 16
|
||||
В алфавите буква y под номером 25
|
||||
В алфавите буква t под номером 20
|
||||
В алфавите буква h под номером 8
|
||||
В алфавите буква o под номером 15
|
||||
В алфавите буква n под номером 14
|
||||
```
|
||||
|
||||
### 2)Наличие и отсутствие элемента в списке.
|
||||
|
||||
```py
|
||||
>>> str2 = """Создайте список со словами из задания данного пункта. Для этого списка – определите, есть ли в нем некоторое заданное значение, и выведите соответствующее сообщение: либо о нахождении элемента, либо о его отсутствии в списке (проверить как с имеющимся, так и с отсутствующим словом)."""
|
||||
>>> spis2 = str2.split(); spis2
|
||||
['Создайте', 'список', 'со', 'словами', 'из', 'задания', 'данного', 'пункта.', 'Для', 'этого', 'списка', '–', 'определите,', 'есть', 'ли', 'в', 'нем', 'некоторое', 'заданное', 'значение,', 'и', 'выведите', 'соответствующее', 'сообщение:', 'либо', 'о', 'нахождении', 'элемента,', 'либо', 'о', 'его', 'отсутствии', 'в', 'списке', '(проверить', 'как', 'с', 'имеющимся,', 'так', 'и', 'с', 'отсутствующим', 'словом).']
|
||||
>>> words = ["словами","значения"]
|
||||
>>> i = 0
|
||||
>>> while i < len(words): #i - слово 1 и 2
|
||||
word = words[i]
|
||||
j = 0
|
||||
while j < len(spis2):
|
||||
if spis2[j] == word:
|
||||
print('В списке нашелся элемент \"',word,'\"')
|
||||
break
|
||||
j += 1
|
||||
else:
|
||||
print('В списке элемент \"',word,'\" отсутствует')
|
||||
i += 1 #переход ко второму слову в words
|
||||
|
||||
|
||||
В списке нашелся элемент " словами "
|
||||
В списке элемент " значения " отсутствует
|
||||
```
|
||||
|
||||
### 3)Инструкция вывода среднего балла по заданной фамилии.
|
||||
|
||||
```py
|
||||
>>> stud = ['Кузьменко','Криви','Добровольска','Беженарь']
|
||||
>>> grade = [4.6, 4.5, 4.7, 4.9]
|
||||
>>> stud1 = ['Добровольска','Беженарь','Криви','Кузьменко']
|
||||
>>> grade1 = [4.8, 5.0, 4.7, 4.7]
|
||||
>>> choice = input('Фамилия студента: ')
|
||||
Фамилия студента: Кузьменко
|
||||
>>> grade0 = 0
|
||||
>>> for i in range(len(stud)):
|
||||
if stud[i] == choice:
|
||||
grade0 = grade[i]
|
||||
break
|
||||
|
||||
|
||||
>>> print('Средний балл летней сессии: ',grade0)
|
||||
Средний балл летней сессии: 4.6
|
||||
>>> choice1 = input('Фамилия студента: ')
|
||||
Фамилия студента: Добровольска
|
||||
>>> grade3 = 0
|
||||
>>> for j in range(len(stud1)):
|
||||
if stud1[i] == choice1:
|
||||
grade3 = grade1[i]
|
||||
break
|
||||
|
||||
|
||||
>>> print('Средний балл зимней сессии: ',grade3)
|
||||
Средний балл зимней сессии: 4.8
|
||||
```
|
||||