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