ответвлено от main/python-labs
Сравнить коммиты
4 Коммитов
39f0d2548a
...
main
| Автор | SHA1 | Дата | |
|---|---|---|---|
|
|
5b78df2a99 | ||
|
|
38387e98f7 | ||
|
|
0cb3072d7c | ||
|
|
eb4349f8a3 |
@@ -1,4 +1,4 @@
|
|||||||
# Отчет по теме 4
|
# Отчет по теме 5
|
||||||
|
|
||||||
**Антонов Дмитрий, А-03-23**
|
**Антонов Дмитрий, А-03-23**
|
||||||
|
|
||||||
@@ -126,7 +126,7 @@ pylab.title('График синусоидального сигнала')
|
|||||||
Text(0.5, 1.0, 'График синусоидального сигнала')
|
Text(0.5, 1.0, 'График синусоидального сигнала')
|
||||||
plt.show()
|
plt.show()
|
||||||
```
|
```
|
||||||

|

|
||||||
|
|
||||||
### 4. Изучение цикла while
|
### 4. Изучение цикла while
|
||||||
```py
|
```py
|
||||||
@@ -197,7 +197,7 @@ pylab.title('сигнал на выходе инерционного звена
|
|||||||
Text(0.5, 1.0, 'сигнал на выходе инерционного звена из списка sps2')
|
Text(0.5, 1.0, 'сигнал на выходе инерционного звена из списка sps2')
|
||||||
pylab.show()
|
pylab.show()
|
||||||
```
|
```
|
||||||

|

|
||||||
### 5. Проврека, является ли число простым с помощью циклов
|
### 5. Проврека, является ли число простым с помощью циклов
|
||||||
```py
|
```py
|
||||||
chislo=267 #Проверяемое число
|
chislo=267 #Проверяемое число
|
||||||
|
|||||||
Двоичные данные
TEMA6/fig1.png
Обычный файл
Двоичные данные
TEMA6/fig1.png
Обычный файл
Двоичный файл не отображается.
|
После Ширина: | Высота: | Размер: 13 KiB |
268
TEMA6/report.md
Обычный файл
268
TEMA6/report.md
Обычный файл
@@ -0,0 +1,268 @@
|
|||||||
|
# Отчет по теме 6
|
||||||
|
|
||||||
|
**Антонов Дмитрий, А-03-23**
|
||||||
|
|
||||||
|
### 1.Начало работы, настройка текущего каталога
|
||||||
|
```py
|
||||||
|
import os
|
||||||
|
os.chdir('//Users//dmitrijantonov//Desktop//POAC//python-labs//TEMA6//')
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2.Вывод данных на экран дисплея
|
||||||
|
#### 2.1 Эхо-вывод
|
||||||
|
```py
|
||||||
|
stroka='Автоматизированная система управления'
|
||||||
|
stroka
|
||||||
|
'Автоматизированная система управления'
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 2.2 print вывод
|
||||||
|
```py
|
||||||
|
fff=234.5;gg='Значение температуры = '
|
||||||
|
print(gg, fff) #Можно вывести несколько объектов за одно обращение к функции
|
||||||
|
Значение температуры = 234.5
|
||||||
|
print(gg, fff, sep='/')
|
||||||
|
Значение температуры = /234.5
|
||||||
|
print(gg, fff,sep='/',end='***'); print('____')
|
||||||
|
Значение температуры = /234.5***____
|
||||||
|
print()
|
||||||
|
print(""" Здесь может выводиться
|
||||||
|
большой текст,
|
||||||
|
занимающий несколько строк""")
|
||||||
|
Здесь может выводиться
|
||||||
|
большой текст,
|
||||||
|
занимающий несколько строк
|
||||||
|
print("Здесь может выводиться",
|
||||||
|
"большой текст,",
|
||||||
|
"занимающий несколько строк")
|
||||||
|
Здесь может выводиться большой текст, занимающий несколько строк
|
||||||
|
```
|
||||||
|
#### 2.3 Стандартный поток вывода, модуль sys
|
||||||
|
```py
|
||||||
|
import sys
|
||||||
|
sys.stdout.write('Функция write')
|
||||||
|
Функция write13
|
||||||
|
sys.stdout.write('Функция write\n')
|
||||||
|
Функция write
|
||||||
|
14
|
||||||
|
help(sys.stdout.write)
|
||||||
|
Help on method write in module idlelib.run:
|
||||||
|
|
||||||
|
write(s) method of idlelib.run.StdOutputFile instance
|
||||||
|
Write string s to stream.
|
||||||
|
|
||||||
|
Return the number of characters written
|
||||||
|
(which is always equal to the length of the string).
|
||||||
|
```
|
||||||
|
### 3. Ввод c клавиатуры
|
||||||
|
```py
|
||||||
|
psw=input('Введите пароль:')
|
||||||
|
Введите пароль:555550
|
||||||
|
psw
|
||||||
|
'555550'
|
||||||
|
type(psw)
|
||||||
|
<class 'str'>
|
||||||
|
while True:
|
||||||
|
znach=float(input('Задайте коэф.усиления = '))
|
||||||
|
if znach<17.5 or znach>23.8:
|
||||||
|
print('Ошибка!')
|
||||||
|
else:
|
||||||
|
break
|
||||||
|
|
||||||
|
Задайте коэф.усиления = 15.4
|
||||||
|
Ошибка!
|
||||||
|
Задайте коэф.усиления = 21.6
|
||||||
|
import math
|
||||||
|
print(eval(input('введите выражение для расчета = ')))
|
||||||
|
введите выражение для расчета = math.log10(23/(1+math.exp(-3.24)))
|
||||||
|
1.34504378689765
|
||||||
|
```
|
||||||
|
### 4.Ввод-вывод при работе с файлами
|
||||||
|
#### 4.1 Функции для работы с путем к файлу
|
||||||
|
- Настройка текущей директории
|
||||||
|
```py
|
||||||
|
import os
|
||||||
|
os.getcwd()
|
||||||
|
'/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA6'
|
||||||
|
Antonov = os.getcwd()
|
||||||
|
print(Antonov)
|
||||||
|
/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA6
|
||||||
|
os.getcwd()
|
||||||
|
'/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA6'
|
||||||
|
```
|
||||||
|
- Пробую методы вложенного модуля path
|
||||||
|
```py
|
||||||
|
os.listdir()
|
||||||
|
['.DS_Store', 'hm', 'report.md', '.gitkeep']
|
||||||
|
os.path.isdir('/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA6')
|
||||||
|
True
|
||||||
|
os.path.isdir('python-labs/TEMA6')
|
||||||
|
False
|
||||||
|
os.path.abspath('report.md')
|
||||||
|
'/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA6/report.md'
|
||||||
|
file = os.path.abspath('report.md')
|
||||||
|
drkt=os.path.dirname(file)
|
||||||
|
drkt
|
||||||
|
'/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA6'
|
||||||
|
os.path.basename(file)
|
||||||
|
'report.md'
|
||||||
|
os.path.split(file)
|
||||||
|
('/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA6', 'report.md')
|
||||||
|
os.path.exists(file)
|
||||||
|
True
|
||||||
|
os.path.exists(file+'eee')
|
||||||
|
False
|
||||||
|
```
|
||||||
|
#### 4.3 Открытие/закрытие файла, функция open/close
|
||||||
|
```py
|
||||||
|
help(open)
|
||||||
|
fp=open(file=drkt+'//zapis1.txt',mode='w')
|
||||||
|
drkt
|
||||||
|
'/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA6'
|
||||||
|
dir(fp)
|
||||||
|
['_CHUNK_SIZE', '__class__', '__del__', '__delattr__', '__dict__', '__dir__', '__doc__', '__enter__', '__eq__', '__exit__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__next__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_checkClosed', '_checkReadable', '_checkSeekable', '_checkWritable', '_finalizing', 'buffer', 'close', 'closed', 'detach', 'encoding', 'errors', 'fileno', 'flush', 'isatty', 'line_buffering', 'mode', 'name', 'newlines', 'read', 'readable', 'readline', 'readlines', 'reconfigure', 'seek', 'seekable', 'tell', 'truncate', 'writable', 'write', 'write_through', 'writelines']
|
||||||
|
fp.close()
|
||||||
|
```
|
||||||
|
#### 4.4 Запись в файл функция write
|
||||||
|
```py
|
||||||
|
sps=list(range(1,13))
|
||||||
|
fp2=open('zapis3.txt','w')
|
||||||
|
fp2.write(str(sps[:4])+'\n');fp2.write(str(sps[4:8])+'\n');fp2.write(str(sps[8:])+'\n');fp2.close()
|
||||||
|
13
|
||||||
|
13
|
||||||
|
16
|
||||||
|
```
|
||||||
|
[!Данные записанные в файл](fig1.png)
|
||||||
|
- Запись списка списков
|
||||||
|
```py
|
||||||
|
sps3=[['Иванов И.',1],['Петров П.',2],['Сидоров С.',3]]
|
||||||
|
fp3=open('zapis4.txt','w')
|
||||||
|
|
||||||
|
for i in range(len(sps3)):
|
||||||
|
stroka4=sps3[i][0]+' '+str(sps3[i][1])
|
||||||
|
fp3.write(stroka4)
|
||||||
|
11
|
||||||
|
11
|
||||||
|
12
|
||||||
|
fp3.close()
|
||||||
|
|
||||||
|
gh=open('zapis5.txt','w')
|
||||||
|
for r in sps3:
|
||||||
|
gh.write(r[0]+' '+str(r[1])+'\n')
|
||||||
|
12
|
||||||
|
12
|
||||||
|
13
|
||||||
|
gh.close()
|
||||||
|
```
|
||||||
|
#### 4.5 Чтение информации из текстового файла.
|
||||||
|
```py
|
||||||
|
sps1=[];fp=open('zapis3.txt')
|
||||||
|
for stroka in fp:
|
||||||
|
stroka=stroka.rstrip('\n')
|
||||||
|
stroka=stroka.replace('[','')
|
||||||
|
stroka=stroka.replace(']','')
|
||||||
|
sps1=sps1+stroka.split(',')
|
||||||
|
|
||||||
|
fp.close()
|
||||||
|
print(sps1)
|
||||||
|
['1', ' 2', ' 3', ' 4', '5', ' 6', ' 7', ' 8', '9', ' 10', ' 11', ' 12']
|
||||||
|
```
|
||||||
|
- Теперь элементы списков совпадают
|
||||||
|
```py
|
||||||
|
for i in range(len(sps1)):
|
||||||
|
sps1[i] = int(sps1[i])
|
||||||
|
sps1==sps
|
||||||
|
True
|
||||||
|
```
|
||||||
|
#### 4.6 Чтение информации из файла с помощью метода read
|
||||||
|
```py
|
||||||
|
fp=open('zapis3.txt');stroka1=fp.read(12);stroka2=fp.read();fp.close()
|
||||||
|
stroka1
|
||||||
|
'[1, 2, 3, 4]'
|
||||||
|
stroka2
|
||||||
|
'\n[5, 6, 7, 8]\n[9, 10, 11, 12]\n'
|
||||||
|
```
|
||||||
|
- Изучение функции readline и readlines
|
||||||
|
```py
|
||||||
|
fp=open('zapis3.txt');stroka1=fp.readline()
|
||||||
|
stroka1
|
||||||
|
'[1, 2, 3, 4]\n'
|
||||||
|
|
||||||
|
stroka2=fp.readline(3)
|
||||||
|
stroka2
|
||||||
|
'[5,'
|
||||||
|
fp.close()
|
||||||
|
|
||||||
|
fp=open('zapis3.txt');stroka1=fp.readlines()
|
||||||
|
stroka1
|
||||||
|
['[1, 2, 3, 4]\n', '[5, 6, 7, 8]\n', '[9, 10, 11, 12]\n']
|
||||||
|
fp.close()
|
||||||
|
```
|
||||||
|
#### 4.9 Ввод-вывод объектов с использованием функций из модуля pickle
|
||||||
|
```py
|
||||||
|
import pickle
|
||||||
|
mnoz1={'pen','book','pen','iPhone','table','book'}
|
||||||
|
fp=open('zapis6.mnz','wb')
|
||||||
|
pickle.dump(mnoz1,fp)
|
||||||
|
fp.close()
|
||||||
|
|
||||||
|
fp=open('zapis6.mnz','rb')
|
||||||
|
mnoz2=pickle.load(fp)
|
||||||
|
fp.close()
|
||||||
|
```
|
||||||
|
- Проверка объектов на совпадение
|
||||||
|
```py
|
||||||
|
mnoz2 == mnoz1
|
||||||
|
True
|
||||||
|
```
|
||||||
|
- Отличие от исходного в том, что сохранились только уникальные элементы
|
||||||
|
```py
|
||||||
|
mnoz2
|
||||||
|
{'table', 'book', 'iPhone', 'pen'}
|
||||||
|
mnoz1
|
||||||
|
{'table', 'book', 'iPhone', 'pen'}
|
||||||
|
```
|
||||||
|
- Запись/чтение нескольких объектов
|
||||||
|
```py
|
||||||
|
sps3
|
||||||
|
[['Иванов И.', 1], ['Петров П.', 2], ['Сидоров С.', 3]]
|
||||||
|
fp=open('zapis7.2ob','wb')
|
||||||
|
pickle.dump(mnoz1,fp);pickle.dump(sps3,fp);fp.close()
|
||||||
|
fp=open('zapis7.2ob','rb')
|
||||||
|
obj1=pickle.load(fp)
|
||||||
|
obj2=pickle.load(fp)
|
||||||
|
fp.close()
|
||||||
|
obj1,obj2
|
||||||
|
({'table', 'book', 'iPhone', 'pen'}, [['Иванов И.', 1], ['Петров П.', 2], ['Сидоров С.', 3]])
|
||||||
|
obj1==mnoz1; obj2==sps3
|
||||||
|
True
|
||||||
|
True
|
||||||
|
```
|
||||||
|
### 5. Перенаправление потоков ввода и вывода данных
|
||||||
|
- Перенаправление вывода в файл
|
||||||
|
```py
|
||||||
|
import sys
|
||||||
|
vr_out=sys.stdout
|
||||||
|
fc=open('Stroka.txt','w')
|
||||||
|
sys.stdout=fc
|
||||||
|
print('запись строки в файл')
|
||||||
|
sys.stdout=vr_out
|
||||||
|
print('запись строки на экран')
|
||||||
|
запись строки на экран
|
||||||
|
fc.close()
|
||||||
|
```
|
||||||
|
- Перенаправление вввода из файла
|
||||||
|
```py
|
||||||
|
tmp_in = sys.stdin
|
||||||
|
fd = open("Stroka.txt", "r")
|
||||||
|
sys.stdin = fd
|
||||||
|
while True:
|
||||||
|
try:
|
||||||
|
line = input ()
|
||||||
|
print(line)
|
||||||
|
except EOFError:
|
||||||
|
break
|
||||||
|
запись строки в файл
|
||||||
|
fd.close()
|
||||||
|
sys.stdin=tmp_in
|
||||||
|
```
|
||||||
42
TEMA6/task.md
Обычный файл
42
TEMA6/task.md
Обычный файл
@@ -0,0 +1,42 @@
|
|||||||
|
# Общее контрольное задание по теме 6
|
||||||
|
|
||||||
|
**Антонов Дмитрий, А-03-23**
|
||||||
|
1. Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, пред-ставленными в виде символьных строк.
|
||||||
|
```py
|
||||||
|
import random as rn
|
||||||
|
kort = tuple(str(rn.randint(6,56)) for _ in range(126))
|
||||||
|
kort
|
||||||
|
('29', '20', '18', '11', '20', '38', '8', '15', '33', '28', '30', '24', '50', '15', '26', '13', '36', '38', '10', '23', '36', '34', '16', '30', '34', '55', '28', '34', '36', '16', '6', '14', '15', '51', '7', '14', '10', '12', '54', '16', '53', '16', '39', '39', '32', '53', '43', '27', '8', '38', '8', '30', '31', '31', '22', '40', '40', '42', '18', '23', '20', '14', '48', '56', '27', '39', '10', '6', '47', '51', '26', '42', '54', '38', '49', '24', '21', '43', '40', '36', '50', '41', '43', '23', '34', '26', '21', '54', '35', '27', '10', '32', '53', '40', '39', '38', '6', '51', '37', '41', '39', '26', '46', '6', '13', '22', '26', '24', '20', '11', '34', '29', '27', '17', '23', '36', '25', '17', '25', '6', '55', '24', '52', '17', '48', '40')
|
||||||
|
```
|
||||||
|
2. Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассников.
|
||||||
|
```py
|
||||||
|
spis = ['Антонов','Ефимова','Турханов','Девятова','Гордиевских']
|
||||||
|
```
|
||||||
|
3. Записывается кортеж и список в бинарный файл.
|
||||||
|
```py
|
||||||
|
import pickle
|
||||||
|
fp=open('task.bn','wb')
|
||||||
|
pickle.dump(kort,fp)
|
||||||
|
pickle.dump(spis,fp)
|
||||||
|
fp.close()
|
||||||
|
fp=open('task.bn','rb')
|
||||||
|
obj1=pickle.load(fp)
|
||||||
|
obj2=pickle.load(fp)
|
||||||
|
fp.close()
|
||||||
|
obj1 == kort; obj2 == spis
|
||||||
|
True
|
||||||
|
True
|
||||||
|
obj1
|
||||||
|
('29', '20', '18', '11', '20', '38', '8', '15', '33', '28', '30', '24', '50', '15', '26', '13', '36', '38', '10', '23', '36', '34', '16', '30', '34', '55', '28', '34', '36', '16', '6', '14', '15', '51', '7', '14', '10', '12', '54', '16', '53', '16', '39', '39', '32', '53', '43', '27', '8', '38', '8', '30', '31', '31', '22', '40', '40', '42', '18', '23', '20', '14', '48', '56', '27', '39', '10', '6', '47', '51', '26', '42', '54', '38', '49', '24', '21', '43', '40', '36', '50', '41', '43', '23', '34', '26', '21', '54', '35', '27', '10', '32', '53', '40', '39', '38', '6', '51', '37', '41', '39', '26', '46', '6', '13', '22', '26', '24', '20', '11', '34', '29', '27', '17', '23', '36', '25', '17', '25', '6', '55', '24', '52', '17', '48', '40')
|
||||||
|
obj2
|
||||||
|
['Антонов', 'Ефимова', 'Турханов', 'Девятова', 'Гордиевских']
|
||||||
|
if(obj1 == kort and obj2 == spis):
|
||||||
|
print("Объекты схожи")
|
||||||
|
Объекты схожи
|
||||||
|
```
|
||||||
|
4. Разделяется кортеж на совокупности по 5 чисел в каждой и они записываются в виде отдельных списков со своими именами.
|
||||||
|
```py
|
||||||
|
vocab = {}
|
||||||
|
for i in range(0,len(kort),5):
|
||||||
|
vocab['группа №'+str(i//5)] = list(kort[i:i+5])
|
||||||
|
```
|
||||||
48
TEMA6/test.md
Обычный файл
48
TEMA6/test.md
Обычный файл
@@ -0,0 +1,48 @@
|
|||||||
|
# Индивидуальное контрольное задание по теме 6
|
||||||
|
|
||||||
|
**Антонов Дмитрий, А-03-23**
|
||||||
|
|
||||||
|
## Задание M2_8
|
||||||
|
|
||||||
|
1) Создайте множество с 40 элементами - случайными числами, равномерно распределенными на интервале от -20 до +10. Числа должны быть округлены до двух знаков после точки.
|
||||||
|
```py
|
||||||
|
import os
|
||||||
|
os.chdir('//Users//dmitrijantonov//Desktop//POAC//python-labs//TEMA6//')
|
||||||
|
import random as rn
|
||||||
|
my_set = set(round(rn.uniform(-20,10),2) for _ in range(40))
|
||||||
|
my_set
|
||||||
|
{0.41, 2.22, 3.89, 4.77, 5.04, 6.94, 7.43, 8.16, 9.13, 9.48, 9.85, 6.01, 9.2, -3.82, -19.36, -18.72, -15.84, -9.36, -9.5, -8.1, -4.59, -19.23, -4.49, -4.15, -16.02, -4.74, -16.5, -13.96, -12.95, -11.92, -10.71, -9.89, -8.66, -7.45, -6.18, -5.86, -4.62, -3.52, -2.95, -1.4}
|
||||||
|
type(my_set)
|
||||||
|
<class 'set'>
|
||||||
|
```
|
||||||
|
2) Запросите у пользователя и введите имя бинарного файла для сохранения множества. Если во введенном имени есть пробелы, замените их на пустые строки.
|
||||||
|
```py
|
||||||
|
name = input("Введите имя бинарного файла для сохранения множества: ").replace(" ","")
|
||||||
|
Введите имя бинарного файла для сохранения множества: NA ME
|
||||||
|
name
|
||||||
|
'NAME'
|
||||||
|
```
|
||||||
|
3) Запишите множество в бинарный файл с указанным именем.
|
||||||
|
```py
|
||||||
|
import pickle
|
||||||
|
fl = open(name+"bn",'wb')
|
||||||
|
pickle.dump(my_set,fl)
|
||||||
|
fl.close()
|
||||||
|
```
|
||||||
|
4) Удалите из памяти созданное множество.
|
||||||
|
```py
|
||||||
|
del(my_set)
|
||||||
|
```
|
||||||
|
5) Прочитайте множество из файла и рассчитайте по его элементам среднее значение. Отобразите его на экране по шаблону: " По <число элементов> среднее = <рассчитанное значение>". Выводимое среднее округлить до двух знаков после точки.
|
||||||
|
```py
|
||||||
|
fl = open(name+"bn",'rb')
|
||||||
|
file_set = pickle.load(fl)
|
||||||
|
file_set
|
||||||
|
{0.41, 2.22, 3.89, 4.77, 5.04, 6.94, 7.43, 8.16, 9.13, 9.48, 9.85, 6.01, 9.2, -7.45, -4.62, -3.52, -9.36, -9.89, -8.66, -6.18, -4.49, -19.36, -18.72, -19.23, -4.15, -15.84, -16.02, -4.74, -16.5, -13.96, -12.95, -9.5, -8.1, -11.92, -10.71, -5.86, -4.59, -3.82, -2.95, -1.4}
|
||||||
|
import numpy
|
||||||
|
mn = numpy.mean(list(file_set))
|
||||||
|
mn
|
||||||
|
np.float64(-4.2989999999999995)
|
||||||
|
print("По {} среднее = {} ".format(len(file_set),round(mn,2)))
|
||||||
|
По 40 среднее = -4.30
|
||||||
|
```
|
||||||
2
TEMA8/MM0.py
Обычный файл
2
TEMA8/MM0.py
Обычный файл
@@ -0,0 +1,2 @@
|
|||||||
|
import MM2
|
||||||
|
print('y=',MM2.vyhod)
|
||||||
22
TEMA8/MM1.py
Обычный файл
22
TEMA8/MM1.py
Обычный файл
@@ -0,0 +1,22 @@
|
|||||||
|
def realdvig(xtt,kk1,TT,yti1,ytin1):
|
||||||
|
#Модель реального двигателя
|
||||||
|
yp=kk1*xtt #усилитель
|
||||||
|
yti1=yp+yti1 #Интегратор
|
||||||
|
ytin1=(yti1+TT*ytin1)/(TT+1)
|
||||||
|
return [yti1,ytin1]
|
||||||
|
|
||||||
|
def tahogen(xtt,kk2,yti2):
|
||||||
|
#Модель тахогенератора
|
||||||
|
yp=kk2*xtt #усилитель
|
||||||
|
yti2=yp+yti2 #интегратор
|
||||||
|
return yti2
|
||||||
|
|
||||||
|
def nechus(xtt,gran):
|
||||||
|
#зона нечувствит
|
||||||
|
if xtt<gran and xtt>(-gran):
|
||||||
|
ytt=0
|
||||||
|
elif xtt>=gran:
|
||||||
|
ytt=xtt-gran
|
||||||
|
elif xtt<=(-gran):
|
||||||
|
ytt=xtt+gran
|
||||||
|
return ytt
|
||||||
23
TEMA8/MM2.py
Обычный файл
23
TEMA8/MM2.py
Обычный файл
@@ -0,0 +1,23 @@
|
|||||||
|
znach=input('k1,T,k2,Xm,A,F,N=').split(',')
|
||||||
|
k1=float(znach[0])
|
||||||
|
T=float(znach[1])
|
||||||
|
k2=float(znach[2])
|
||||||
|
Xm=float(znach[3])
|
||||||
|
A=float(znach[4])
|
||||||
|
F=float(znach[5])
|
||||||
|
N=int(znach[6])
|
||||||
|
|
||||||
|
import math
|
||||||
|
vhod=[]
|
||||||
|
for i in range(N):
|
||||||
|
vhod.append(A*math.sin((2*i*math.pi)/F))
|
||||||
|
|
||||||
|
import MM1 as mod
|
||||||
|
yi1=0;yin1=0;yi2=0
|
||||||
|
vyhod=[]
|
||||||
|
for xt in vhod:
|
||||||
|
xt1=xt-yi2 #отрицательная обратная связь
|
||||||
|
[yi1,yin1]=mod.realdvig(xt1,k1,T,yi1,yin1)
|
||||||
|
yi2=mod.tahogen(yin1,k2,yi2)
|
||||||
|
yt=mod.nechus(yin1,Xm)
|
||||||
|
vyhod.append(yt)
|
||||||
8
TEMA8/module1.py
Обычный файл
8
TEMA8/module1.py
Обычный файл
@@ -0,0 +1,8 @@
|
|||||||
|
def read_func(name):
|
||||||
|
ans = []
|
||||||
|
fp = open(name,'r')
|
||||||
|
for line in fp:
|
||||||
|
for num in line.strip().split():
|
||||||
|
ans.append(float(num))
|
||||||
|
fp.close()
|
||||||
|
return ans
|
||||||
15
TEMA8/module2.py
Обычный файл
15
TEMA8/module2.py
Обычный файл
@@ -0,0 +1,15 @@
|
|||||||
|
import math as m
|
||||||
|
def count_corr(lst1,lst2):
|
||||||
|
n = min(len(lst1),len(lst2))
|
||||||
|
sred1 = sum(lst1[:n+1])/(n)
|
||||||
|
sred2 = sum(lst2[:n+1])/(n)
|
||||||
|
down1 = 0;down2 = 0;up = 0
|
||||||
|
for i in range(n):
|
||||||
|
down1 += ((lst1[i] - sred1)**2)
|
||||||
|
down2 += ((lst2[i] - sred2)**2)
|
||||||
|
up += (lst1[i] - sred1)*(lst2[i] - sred2)
|
||||||
|
print(up,m.sqrt(down1*down2))
|
||||||
|
return up / m.sqrt(down1*down2)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
11
TEMA8/module3.py
Обычный файл
11
TEMA8/module3.py
Обычный файл
@@ -0,0 +1,11 @@
|
|||||||
|
import module1 as m1,module2 as m2
|
||||||
|
def brain():
|
||||||
|
name1 = input("Введите имя первого текстового файла ")
|
||||||
|
name2 = input("Введите имя второго текстового файла ")
|
||||||
|
file1 = m1.read_func(name1)
|
||||||
|
file2 = m1.read_func(name2)
|
||||||
|
answer = m2.count_corr(file1,file2)
|
||||||
|
print(answer)
|
||||||
|
print("Коэффициент корреляции = {}".format(round(answer,3)))
|
||||||
|
|
||||||
|
|
||||||
597
TEMA8/report.md
Обычный файл
597
TEMA8/report.md
Обычный файл
@@ -0,0 +1,597 @@
|
|||||||
|
# Отчет по теме 8
|
||||||
|
|
||||||
|
**Антонов Дмитрий, А-03-23**
|
||||||
|
|
||||||
|
### 1.Начало работы, настройка текущего каталога
|
||||||
|
```py
|
||||||
|
import os;os.chdir('//Users//dmitrijantonov//Desktop//POAC//python-labs//TEMA8//')
|
||||||
|
|
||||||
|
os.getcwd()
|
||||||
|
'/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8'
|
||||||
|
import sys,importlib
|
||||||
|
```
|
||||||
|
### 2.Запуск модуля из командной строки
|
||||||
|
```py
|
||||||
|
import Mod1
|
||||||
|
Mod1:Введите значение = 5
|
||||||
|
Mod1:Значение perm1= 5
|
||||||
|
```
|
||||||
|
#### 2.1 Проверил класс модуля и получил список атрибутов
|
||||||
|
```py
|
||||||
|
dir()
|
||||||
|
['Mod1', '__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'importlib', 'os', 'sys']
|
||||||
|
type(Mod1)
|
||||||
|
<class 'module'>
|
||||||
|
dir(Mod1)
|
||||||
|
['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'perm1']
|
||||||
|
```
|
||||||
|
#### 2.2 Обращение к переменной внутри модуля
|
||||||
|
```py
|
||||||
|
Mod1.perm1
|
||||||
|
'5'
|
||||||
|
import Mod1
|
||||||
|
```
|
||||||
|
- Ничего не произошло после импорт, так как модуль уже импортирован
|
||||||
|
```py
|
||||||
|
importlib.reload(Mod1)
|
||||||
|
Mod1:Введите значение = 3
|
||||||
|
Mod1:Значение perm1= 3
|
||||||
|
<module 'Mod1' from '/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod1.py'>
|
||||||
|
Mod1.perm1
|
||||||
|
'3'
|
||||||
|
```
|
||||||
|
#### 2.2 Проверил какие модули уже импортированы
|
||||||
|
```py
|
||||||
|
print(sorted(sys.modules.keys()))
|
||||||
|
['Mod1', '__future__', '__main__', '_abc', '_ast', '_bisect', '_bz2', '_codecs', '_collections', '_collections_abc', '_colorize', '_compat_pickle', '_compression', '_datetime', '_frozen_importlib', '_frozen_importlib_external', '_functools', '_heapq', '_imp', '_io', '_lzma', '_opcode', '_opcode_metadata', '_operator', '_osx_support', '_pickle', '_pyrepl', '_pyrepl.pager', '_queue', '_random', '_signal', '_sitebuiltins', '_socket', '_sre', '_stat', '_string', '_struct', '_suggestions', '_sysconfigdata__darwin_darwin', '_thread', '_tkinter', '_tokenize', '_typing', '_warnings', '_weakref', '_weakrefset', 'abc', 'array', 'ast', 'bdb', 'binascii', 'bisect', 'builtins', 'bz2', 'codecs', 'collections', 'collections.abc', 'configparser', 'contextlib', 'copyreg', 'datetime', 'dis', 'encodings', 'encodings.aliases', 'encodings.utf_8', 'enum', 'errno', 'fnmatch', 'functools', 'genericpath', 'heapq', 'idlelib', 'idlelib.autocomplete', 'idlelib.autocomplete_w', 'idlelib.calltip', 'idlelib.calltip_w', 'idlelib.config', 'idlelib.debugger', 'idlelib.debugger_r', 'idlelib.debugobj', 'idlelib.debugobj_r', 'idlelib.hyperparser', 'idlelib.iomenu', 'idlelib.macosx', 'idlelib.multicall', 'idlelib.pyparse', 'idlelib.rpc', 'idlelib.run', 'idlelib.scrolledlist', 'idlelib.stackviewer', 'idlelib.tooltip', 'idlelib.tree', 'idlelib.util', 'idlelib.window', 'idlelib.zoomheight', 'importlib', 'importlib._abc', 'importlib._bootstrap', 'importlib._bootstrap_external', 'importlib.machinery', 'importlib.util', 'inspect', 'io', 'ipaddress', 'itertools', 'keyword', 'linecache', 'lzma', 'marshal', 'math', 'opcode', 'operator', 'os', 'os.path', 'pickle', 'pkgutil', 'platform', 'plistlib', 'posix', 'posixpath', 'pydoc', 'pyexpat', 'pyexpat.errors', 'pyexpat.model', 'queue', 'random', 're', 're._casefix', 're._compiler', 're._constants', 're._parser', 'reprlib', 'select', 'selectors', 'shlex', 'shutil', 'site', 'socket', 'socketserver', 'stat', 'string', 'struct', 'sys', 'sysconfig', 'tempfile', 'textwrap', 'threading', 'time', 'tkinter', 'tkinter.constants', 'token', 'tokenize', 'traceback', 'types', 'typing', 'urllib', 'urllib.parse', 'warnings', 'weakref', 'xml', 'xml.parsers', 'xml.parsers.expat', 'xml.parsers.expat.errors', 'xml.parsers.expat.model', 'zipimport', 'zlib']
|
||||||
|
```
|
||||||
|
- Удаление импортированного модуля
|
||||||
|
```py
|
||||||
|
sys.modules.pop('Mod1')
|
||||||
|
<module 'Mod1' from '/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod1.py'>
|
||||||
|
print(sorted(sys.modules.keys()))
|
||||||
|
['__future__', '__main__', '_abc', '_ast', '_bisect', '_bz2', '_codecs', '_collections', '_collections_abc', '_colorize', '_compat_pickle', '_compression', '_datetime', '_frozen_importlib', '_frozen_importlib_external', '_functools', '_heapq', '_imp', '_io', '_lzma', '_opcode', '_opcode_metadata', '_operator', '_osx_support', '_pickle', '_pyrepl', '_pyrepl.pager', '_queue', '_random', '_signal', '_sitebuiltins', '_socket', '_sre', '_stat', '_string', '_struct', '_suggestions', '_sysconfigdata__darwin_darwin', '_thread', '_tkinter', '_tokenize', '_typing', '_warnings', '_weakref', '_weakrefset', 'abc', 'array', 'ast', 'bdb', 'binascii', 'bisect', 'builtins', 'bz2', 'codecs', 'collections', 'collections.abc', 'configparser', 'contextlib', 'copyreg', 'datetime', 'dis', 'encodings', 'encodings.aliases', 'encodings.utf_8', 'enum', 'errno', 'fnmatch', 'functools', 'genericpath', 'heapq', 'idlelib', 'idlelib.autocomplete', 'idlelib.autocomplete_w', 'idlelib.calltip', 'idlelib.calltip_w', 'idlelib.config', 'idlelib.debugger', 'idlelib.debugger_r', 'idlelib.debugobj', 'idlelib.debugobj_r', 'idlelib.hyperparser', 'idlelib.iomenu', 'idlelib.macosx', 'idlelib.multicall', 'idlelib.pyparse', 'idlelib.rpc', 'idlelib.run', 'idlelib.scrolledlist', 'idlelib.stackviewer', 'idlelib.tooltip', 'idlelib.tree', 'idlelib.util', 'idlelib.window', 'idlelib.zoomheight', 'importlib', 'importlib._abc', 'importlib._bootstrap', 'importlib._bootstrap_external', 'importlib.machinery', 'importlib.util', 'inspect', 'io', 'ipaddress', 'itertools', 'keyword', 'linecache', 'lzma', 'marshal', 'math', 'opcode', 'operator', 'os', 'os.path', 'pickle', 'pkgutil', 'platform', 'plistlib', 'posix', 'posixpath', 'pydoc', 'pyexpat', 'pyexpat.errors', 'pyexpat.model', 'queue', 'random', 're', 're._casefix', 're._compiler', 're._constants', 're._parser', 'reprlib', 'select', 'selectors', 'shlex', 'shutil', 'site', 'socket', 'socketserver', 'stat', 'string', 'struct', 'sys', 'sysconfig', 'tempfile', 'textwrap', 'threading', 'time', 'tkinter', 'tkinter.constants', 'token', 'tokenize', 'traceback', 'types', 'typing', 'urllib', 'urllib.parse', 'warnings', 'weakref', 'xml', 'xml.parsers', 'xml.parsers.expat', 'xml.parsers.expat.errors', 'xml.parsers.expat.model', 'zipimport', 'zlib']
|
||||||
|
```
|
||||||
|
- Повторный запуск модуля
|
||||||
|
```py
|
||||||
|
import Mod1
|
||||||
|
Mod1:Введите значение = 5
|
||||||
|
Mod1:Значение perm1= 5
|
||||||
|
print(sorted(sys.modules.keys()))
|
||||||
|
['Mod1', '__future__', '__main__', '_abc', '_ast', '_bisect', '_bz2', '_codecs', '_collections', '_collections_abc', '_colorize', '_compat_pickle', '_compression', '_datetime', '_frozen_importlib', '_frozen_importlib_external', '_functools', '_heapq', '_imp', '_io', '_lzma', '_opcode', '_opcode_metadata', '_operator', '_osx_support', '_pickle', '_pyrepl', '_pyrepl.pager', '_queue', '_random', '_signal', '_sitebuiltins', '_socket', '_sre', '_stat', '_string', '_struct', '_suggestions', '_sysconfigdata__darwin_darwin', '_thread', '_tkinter', '_tokenize', '_typing', '_warnings', '_weakref', '_weakrefset', 'abc', 'array', 'ast', 'bdb', 'binascii', 'bisect', 'builtins', 'bz2', 'codecs', 'collections', 'collections.abc', 'configparser', 'contextlib', 'copyreg', 'datetime', 'dis', 'encodings', 'encodings.aliases', 'encodings.utf_8', 'enum', 'errno', 'fnmatch', 'functools', 'genericpath', 'heapq', 'idlelib', 'idlelib.autocomplete', 'idlelib.autocomplete_w', 'idlelib.calltip', 'idlelib.calltip_w', 'idlelib.config', 'idlelib.debugger', 'idlelib.debugger_r', 'idlelib.debugobj', 'idlelib.debugobj_r', 'idlelib.hyperparser', 'idlelib.iomenu', 'idlelib.macosx', 'idlelib.multicall', 'idlelib.pyparse', 'idlelib.rpc', 'idlelib.run', 'idlelib.scrolledlist', 'idlelib.stackviewer', 'idlelib.tooltip', 'idlelib.tree', 'idlelib.util', 'idlelib.window', 'idlelib.zoomheight', 'importlib', 'importlib._abc', 'importlib._bootstrap', 'importlib._bootstrap_external', 'importlib.machinery', 'importlib.util', 'inspect', 'io', 'ipaddress', 'itertools', 'keyword', 'linecache', 'lzma', 'marshal', 'math', 'opcode', 'operator', 'os', 'os.path', 'pickle', 'pkgutil', 'platform', 'plistlib', 'posix', 'posixpath', 'pydoc', 'pyexpat', 'pyexpat.errors', 'pyexpat.model', 'queue', 'random', 're', 're._casefix', 're._compiler', 're._constants', 're._parser', 'reprlib', 'select', 'selectors', 'shlex', 'shutil', 'site', 'socket', 'socketserver', 'stat', 'string', 'struct', 'sys', 'sysconfig', 'tempfile', 'textwrap', 'threading', 'time', 'tkinter', 'tkinter.constants', 'token', 'tokenize', 'traceback', 'types', 'typing', 'urllib', 'urllib.parse', 'warnings', 'weakref', 'xml', 'xml.parsers', 'xml.parsers.expat', 'xml.parsers.expat.errors', 'xml.parsers.expat.model', 'zipimport', 'zlib']
|
||||||
|
sys.modules.pop('Mod1')
|
||||||
|
<module 'Mod1' from '/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod1.py'>
|
||||||
|
```
|
||||||
|
#### 2.3 Запуск на выполнение с помощью exec()
|
||||||
|
```py
|
||||||
|
exec(open('Mod1.py').read())
|
||||||
|
Mod1:Введите значение = 9
|
||||||
|
Mod1:Значение perm1= 9
|
||||||
|
exec(open('Mod1.py').read())
|
||||||
|
Mod1:Введите значение = 5
|
||||||
|
Mod1:Значение perm1= 5
|
||||||
|
dir()
|
||||||
|
['Mod1', '__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', '__warningregistry__', 'importlib', 'os', 'perm1', 'sys']
|
||||||
|
perm1
|
||||||
|
'5'
|
||||||
|
exec(open('Mod1.py').read())
|
||||||
|
Mod1:Введите значение = 8
|
||||||
|
Mod1:Значение perm1= 8
|
||||||
|
perm1
|
||||||
|
'8'
|
||||||
|
from Mod1 import perm1
|
||||||
|
Mod1:Введите значение = 78
|
||||||
|
Mod1:Значение perm1= 78
|
||||||
|
dir()
|
||||||
|
['Mod1', '__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', '__warningregistry__', 'importlib', 'os', 'perm1', 'sys']
|
||||||
|
print(sorted(sys.modules.keys()))
|
||||||
|
['Mod1', '__future__', '__main__', '_abc', '_ast', '_bisect', '_bz2', '_codecs', '_collections', '_collections_abc', '_colorize', '_compat_pickle', '_compression', '_datetime', '_frozen_importlib', '_frozen_importlib_external', '_functools', '_heapq', '_imp', '_io', '_lzma', '_opcode', '_opcode_metadata', '_operator', '_osx_support', '_pickle', '_pyrepl', '_pyrepl.pager', '_queue', '_random', '_signal', '_sitebuiltins', '_socket', '_sre', '_stat', '_string', '_struct', '_suggestions', '_sysconfigdata__darwin_darwin', '_thread', '_tkinter', '_tokenize', '_typing', '_warnings', '_weakref', '_weakrefset', 'abc', 'array', 'ast', 'bdb', 'binascii', 'bisect', 'builtins', 'bz2', 'codecs', 'collections', 'collections.abc', 'configparser', 'contextlib', 'copyreg', 'datetime', 'dis', 'encodings', 'encodings.aliases', 'encodings.utf_8', 'enum', 'errno', 'fnmatch', 'functools', 'genericpath', 'heapq', 'idlelib', 'idlelib.autocomplete', 'idlelib.autocomplete_w', 'idlelib.calltip', 'idlelib.calltip_w', 'idlelib.config', 'idlelib.debugger', 'idlelib.debugger_r', 'idlelib.debugobj', 'idlelib.debugobj_r', 'idlelib.hyperparser', 'idlelib.iomenu', 'idlelib.macosx', 'idlelib.multicall', 'idlelib.pyparse', 'idlelib.rpc', 'idlelib.run', 'idlelib.scrolledlist', 'idlelib.stackviewer', 'idlelib.tooltip', 'idlelib.tree', 'idlelib.util', 'idlelib.window', 'idlelib.zoomheight', 'importlib', 'importlib._abc', 'importlib._bootstrap', 'importlib._bootstrap_external', 'importlib.machinery', 'importlib.util', 'inspect', 'io', 'ipaddress', 'itertools', 'keyword', 'linecache', 'lzma', 'marshal', 'math', 'opcode', 'operator', 'os', 'os.path', 'pickle', 'pkgutil', 'platform', 'plistlib', 'posix', 'posixpath', 'pydoc', 'pyexpat', 'pyexpat.errors', 'pyexpat.model', 'queue', 'random', 're', 're._casefix', 're._compiler', 're._constants', 're._parser', 'reprlib', 'select', 'selectors', 'shlex', 'shutil', 'site', 'socket', 'socketserver', 'stat', 'string', 'struct', 'sys', 'sysconfig', 'tempfile', 'textwrap', 'threading', 'time', 'tkinter', 'tkinter.constants', 'token', 'tokenize', 'traceback', 'types', 'typing', 'urllib', 'urllib.parse', 'warnings', 'weakref', 'xml', 'xml.parsers', 'xml.parsers.expat', 'xml.parsers.expat.errors', 'xml.parsers.expat.model', 'zipimport', 'zlib']
|
||||||
|
perm1
|
||||||
|
'78'
|
||||||
|
from Mod2 import beta
|
||||||
|
dir()
|
||||||
|
['Mod1', '__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', '__warningregistry__', 'beta', 'importlib', 'os', 'perm1', 'sys']
|
||||||
|
g=beta(2)
|
||||||
|
****BETA****
|
||||||
|
dir()
|
||||||
|
['Mod1', '__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', '__warningregistry__', 'beta', 'g', 'importlib', 'os', 'perm1', 'sys']
|
||||||
|
sys.modules.pop('Mod1')
|
||||||
|
<module 'Mod1' from '/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod1.py'>
|
||||||
|
dir()
|
||||||
|
['Mod1', '__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', '__warningregistry__', 'beta', 'g', 'importlib', 'os', 'perm1', 'sys']
|
||||||
|
del(Mod1)
|
||||||
|
from Mod1 import perm1
|
||||||
|
Mod1:Введите значение = 5
|
||||||
|
Mod1:Значение perm1= 5
|
||||||
|
dir()
|
||||||
|
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', '__warningregistry__', 'beta', 'g', 'importlib', 'os', 'perm1', 'sys']
|
||||||
|
print(sorted(sys.modules.keys()))
|
||||||
|
['Mod1', 'Mod2', '__future__', '__main__', '_abc', '_ast', '_bisect', '_bz2', '_codecs', '_collections', '_collections_abc', '_colorize', '_compat_pickle', '_compression', '_datetime', '_frozen_importlib', '_frozen_importlib_external', '_functools', '_heapq', '_imp', '_io', '_lzma', '_opcode', '_opcode_metadata', '_operator', '_osx_support', '_pickle', '_pyrepl', '_pyrepl.pager', '_queue', '_random', '_signal', '_sitebuiltins', '_socket', '_sre', '_stat', '_string', '_struct', '_suggestions', '_sysconfigdata__darwin_darwin', '_thread', '_tkinter', '_tokenize', '_typing', '_warnings', '_weakref', '_weakrefset', 'abc', 'array', 'ast', 'bdb', 'binascii', 'bisect', 'builtins', 'bz2', 'codecs', 'collections', 'collections.abc', 'configparser', 'contextlib', 'copyreg', 'datetime', 'dis', 'encodings', 'encodings.aliases', 'encodings.utf_8', 'enum', 'errno', 'fnmatch', 'functools', 'genericpath', 'heapq', 'idlelib', 'idlelib.autocomplete', 'idlelib.autocomplete_w', 'idlelib.calltip', 'idlelib.calltip_w', 'idlelib.config', 'idlelib.debugger', 'idlelib.debugger_r', 'idlelib.debugobj', 'idlelib.debugobj_r', 'idlelib.hyperparser', 'idlelib.iomenu', 'idlelib.macosx', 'idlelib.multicall', 'idlelib.pyparse', 'idlelib.rpc', 'idlelib.run', 'idlelib.scrolledlist', 'idlelib.stackviewer', 'idlelib.tooltip', 'idlelib.tree', 'idlelib.util', 'idlelib.window', 'idlelib.zoomheight', 'importlib', 'importlib._abc', 'importlib._bootstrap', 'importlib._bootstrap_external', 'importlib.machinery', 'importlib.util', 'inspect', 'io', 'ipaddress', 'itertools', 'keyword', 'linecache', 'lzma', 'marshal', 'math', 'opcode', 'operator', 'os', 'os.path', 'pickle', 'pkgutil', 'platform', 'plistlib', 'posix', 'posixpath', 'pydoc', 'pyexpat', 'pyexpat.errors', 'pyexpat.model', 'queue', 'random', 're', 're._casefix', 're._compiler', 're._constants', 're._parser', 'reprlib', 'select', 'selectors', 'shlex', 'shutil', 'site', 'socket', 'socketserver', 'stat', 'string', 'struct', 'sys', 'sysconfig', 'tempfile', 'textwrap', 'threading', 'time', 'tkinter', 'tkinter.constants', 'token', 'tokenize', 'traceback', 'types', 'typing', 'urllib', 'urllib.parse', 'warnings', 'weakref', 'xml', 'xml.parsers', 'xml.parsers.expat', 'xml.parsers.expat.errors', 'xml.parsers.expat.model', 'zipimport', 'zlib']
|
||||||
|
perm1
|
||||||
|
'5'
|
||||||
|
from Mod2 import beta
|
||||||
|
g=beta(2)
|
||||||
|
****BETA****
|
||||||
|
g
|
||||||
|
535.4916555247646
|
||||||
|
dir()
|
||||||
|
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', '__warningregistry__', 'beta', 'g', 'importlib', 'os', 'perm1', 'sys']
|
||||||
|
print(sorted(sys.modules.keys()))
|
||||||
|
['Mod1', 'Mod2', '__future__', '__main__', '_abc', '_ast', '_bisect', '_bz2', '_codecs', '_collections', '_collections_abc', '_colorize', '_compat_pickle', '_compression', '_datetime', '_frozen_importlib', '_frozen_importlib_external', '_functools', '_heapq', '_imp', '_io', '_lzma', '_opcode', '_opcode_metadata', '_operator', '_osx_support', '_pickle', '_pyrepl', '_pyrepl.pager', '_queue', '_random', '_signal', '_sitebuiltins', '_socket', '_sre', '_stat', '_string', '_struct', '_suggestions', '_sysconfigdata__darwin_darwin', '_thread', '_tkinter', '_tokenize', '_typing', '_warnings', '_weakref', '_weakrefset', 'abc', 'array', 'ast', 'bdb', 'binascii', 'bisect', 'builtins', 'bz2', 'codecs', 'collections', 'collections.abc', 'configparser', 'contextlib', 'copyreg', 'datetime', 'dis', 'encodings', 'encodings.aliases', 'encodings.utf_8', 'enum', 'errno', 'fnmatch', 'functools', 'genericpath', 'heapq', 'idlelib', 'idlelib.autocomplete', 'idlelib.autocomplete_w', 'idlelib.calltip', 'idlelib.calltip_w', 'idlelib.config', 'idlelib.debugger', 'idlelib.debugger_r', 'idlelib.debugobj', 'idlelib.debugobj_r', 'idlelib.hyperparser', 'idlelib.iomenu', 'idlelib.macosx', 'idlelib.multicall', 'idlelib.pyparse', 'idlelib.rpc', 'idlelib.run', 'idlelib.scrolledlist', 'idlelib.stackviewer', 'idlelib.tooltip', 'idlelib.tree', 'idlelib.util', 'idlelib.window', 'idlelib.zoomheight', 'importlib', 'importlib._abc', 'importlib._bootstrap', 'importlib._bootstrap_external', 'importlib.machinery', 'importlib.util', 'inspect', 'io', 'ipaddress', 'itertools', 'keyword', 'linecache', 'lzma', 'marshal', 'math', 'opcode', 'operator', 'os', 'os.path', 'pickle', 'pkgutil', 'platform', 'plistlib', 'posix', 'posixpath', 'pydoc', 'pyexpat', 'pyexpat.errors', 'pyexpat.model', 'queue', 'random', 're', 're._casefix', 're._compiler', 're._constants', 're._parser', 'reprlib', 'select', 'selectors', 'shlex', 'shutil', 'site', 'socket', 'socketserver', 'stat', 'string', 'struct', 'sys', 'sysconfig', 'tempfile', 'textwrap', 'threading', 'time', 'tkinter', 'tkinter.constants', 'token', 'tokenize', 'traceback', 'types', 'typing', 'urllib', 'urllib.parse', 'warnings', 'weakref', 'xml', 'xml.parsers', 'xml.parsers.expat', 'xml.parsers.expat.errors', 'xml.parsers.expat.model', 'zipimport', 'zlib']
|
||||||
|
alpha()
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#40>", line 1, in <module>
|
||||||
|
alpha()
|
||||||
|
NameError: name 'alpha' is not defined
|
||||||
|
from Mod2 import alpha as al
|
||||||
|
al()
|
||||||
|
****ALPHA****
|
||||||
|
Значение t=9
|
||||||
|
'9'
|
||||||
|
del al,beta
|
||||||
|
from Mod2 import alpha as al, beta as bt
|
||||||
|
del al,bt
|
||||||
|
dir()
|
||||||
|
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', '__warningregistry__', 'g', 'importlib', 'os', 'perm1', 'sys']
|
||||||
|
from Mod2 import *
|
||||||
|
tt=alpha()
|
||||||
|
****ALPHA****
|
||||||
|
Значение t=0.12
|
||||||
|
uu=beta(float(tt))
|
||||||
|
****BETA****
|
||||||
|
print(uu)
|
||||||
|
1.4578913609506803
|
||||||
|
sys.modules.pop('Mod1')
|
||||||
|
<module 'Mod1' from '/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod1.py'>
|
||||||
|
sys.modules.pop('Mod2')
|
||||||
|
<module 'Mod2' from '/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py'>
|
||||||
|
print(sorted(sys.modules.keys()))
|
||||||
|
['__future__', '__main__', '_abc', '_ast', '_bisect', '_bz2', '_codecs', '_collections', '_collections_abc', '_colorize', '_compat_pickle', '_compression', '_datetime', '_frozen_importlib', '_frozen_importlib_external', '_functools', '_heapq', '_imp', '_io', '_lzma', '_opcode', '_opcode_metadata', '_operator', '_osx_support', '_pickle', '_pyrepl', '_pyrepl.pager', '_queue', '_random', '_signal', '_sitebuiltins', '_socket', '_sre', '_stat', '_string', '_struct', '_suggestions', '_sysconfigdata__darwin_darwin', '_thread', '_tkinter', '_tokenize', '_typing', '_warnings', '_weakref', '_weakrefset', 'abc', 'array', 'ast', 'bdb', 'binascii', 'bisect', 'builtins', 'bz2', 'codecs', 'collections', 'collections.abc', 'configparser', 'contextlib', 'copyreg', 'datetime', 'dis', 'encodings', 'encodings.aliases', 'encodings.utf_8', 'enum', 'errno', 'fnmatch', 'functools', 'genericpath', 'heapq', 'idlelib', 'idlelib.autocomplete', 'idlelib.autocomplete_w', 'idlelib.calltip', 'idlelib.calltip_w', 'idlelib.config', 'idlelib.debugger', 'idlelib.debugger_r', 'idlelib.debugobj', 'idlelib.debugobj_r', 'idlelib.hyperparser', 'idlelib.iomenu', 'idlelib.macosx', 'idlelib.multicall', 'idlelib.pyparse', 'idlelib.rpc', 'idlelib.run', 'idlelib.scrolledlist', 'idlelib.stackviewer', 'idlelib.tooltip', 'idlelib.tree', 'idlelib.util', 'idlelib.window', 'idlelib.zoomheight', 'importlib', 'importlib._abc', 'importlib._bootstrap', 'importlib._bootstrap_external', 'importlib.machinery', 'importlib.util', 'inspect', 'io', 'ipaddress', 'itertools', 'keyword', 'linecache', 'lzma', 'marshal', 'math', 'opcode', 'operator', 'os', 'os.path', 'pickle', 'pkgutil', 'platform', 'plistlib', 'posix', 'posixpath', 'pydoc', 'pyexpat', 'pyexpat.errors', 'pyexpat.model', 'queue', 'random', 're', 're._casefix', 're._compiler', 're._constants', 're._parser', 'reprlib', 'select', 'selectors', 'shlex', 'shutil', 'site', 'socket', 'socketserver', 'stat', 'string', 'struct', 'sys', 'sysconfig', 'tempfile', 'textwrap', 'threading', 'time', 'tkinter', 'tkinter.constants', 'token', 'tokenize', 'traceback', 'types', 'typing', 'urllib', 'urllib.parse', 'warnings', 'weakref', 'xml', 'xml.parsers', 'xml.parsers.expat', 'xml.parsers.expat.errors', 'xml.parsers.expat.model', 'zipimport', 'zlib']
|
||||||
|
import Mod0
|
||||||
|
Mod1:Введите значение = 5
|
||||||
|
Mod1:Значение perm1= 5
|
||||||
|
perm1= 5
|
||||||
|
****ALPHA****
|
||||||
|
Значение t=10
|
||||||
|
tt= 10
|
||||||
|
****BETA****
|
||||||
|
qq= 44031505860631.98
|
||||||
|
dir()
|
||||||
|
['Mod0', '__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', '__warningregistry__', 'alpha', 'beta', 'g', 'importlib', 'os', 'perm1', 'sys', 'tt', 'uu']
|
||||||
|
Mod0.tt;Mod0.qq;Mod0.Mod1.perm1
|
||||||
|
'10'
|
||||||
|
44031505860631.98
|
||||||
|
'5'
|
||||||
|
R
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#57>", line 1, in <module>
|
||||||
|
R
|
||||||
|
NameError: name 'R' is not defined
|
||||||
|
|
||||||
|
===== RESTART: /Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/MM0.py =====
|
||||||
|
k1,T,k2,Xm,A,F,N=2,3,4,1,6,4,3
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/MM0.py", line 1, in <module>
|
||||||
|
import MM2
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/MM2.py", line 15, in <module>
|
||||||
|
import MM1 as mod
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/MM1.py", line 6
|
||||||
|
return [yti1,ytin1]
|
||||||
|
^
|
||||||
|
IndentationError: unindent does not match any outer indentation level
|
||||||
|
|
||||||
|
===== RESTART: /Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/MM0.py =====
|
||||||
|
k1,T,k2,Xm,A,F,N=2,3,4,1,6,4,3
|
||||||
|
y= [0, 2.0, 0]
|
||||||
|
|
||||||
|
===== RESTART: /Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/MM0.py =====
|
||||||
|
k1,T,k2,Xm,A,F,N=5,5,5,2,3,4,8
|
||||||
|
y= [0, 0.5, -3.833333333333333, 0, 19.990740740740744, -25.978395061728403, -22.99485596707819, 121.76114540466394]
|
||||||
|
|
||||||
|
===== RESTART: /Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py ====
|
||||||
|
main()
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#58>", line 1, in <module>
|
||||||
|
main()
|
||||||
|
NameError: name 'main' is not defined. Did you mean: 'min'?
|
||||||
|
import os;os.chdir('//Users//dmitrijantonov//Desktop//POAC//python-labs//TEMA8//')
|
||||||
|
import os,sys,imp
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#60>", line 1, in <module>
|
||||||
|
import os,sys,imp
|
||||||
|
ModuleNotFoundError: No module named 'imp'
|
||||||
|
import os,sys,impimport os,sys,importlib
|
||||||
|
SyntaxError: invalid syntax
|
||||||
|
import sys,importlib
|
||||||
|
import Mod2
|
||||||
|
Mod2.beta
|
||||||
|
<function beta at 0x105a9d300>
|
||||||
|
Mod2.beta()
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#65>", line 1, in <module>
|
||||||
|
Mod2.beta()
|
||||||
|
TypeError: beta() missing 1 required positional argument: 'q'
|
||||||
|
Mod2.beta(5)
|
||||||
|
****BETA****
|
||||||
|
****ALPHA****
|
||||||
|
Значение t=9
|
||||||
|
обращание к альфа 9
|
||||||
|
6635623.99934113
|
||||||
|
import Mod2
|
||||||
|
Mod2.alpha()
|
||||||
|
****ALPHA****
|
||||||
|
Значение t=5
|
||||||
|
'5'
|
||||||
|
|
||||||
|
===== RESTART: /Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py ====
|
||||||
|
import os;os.chdir('//Users//dmitrijantonov//Desktop//POAC//python-labs//TEMA8//')
|
||||||
|
import sys,importlib
|
||||||
|
import Mod2
|
||||||
|
Mod2.alpha()
|
||||||
|
****ALPHA****
|
||||||
|
Значение t=5
|
||||||
|
****BETA****
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#72>", line 1, in <module>
|
||||||
|
Mod2.alpha()
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 13, in alpha
|
||||||
|
print("обращание к бетта",beta(t))
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 6, in beta
|
||||||
|
expi=q*math.pi
|
||||||
|
TypeError: can't multiply sequence by non-int of type 'float'
|
||||||
|
import Mod2
|
||||||
|
Mod2.alpha()
|
||||||
|
****ALPHA****
|
||||||
|
Значение t=5
|
||||||
|
****BETA****
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#74>", line 1, in <module>
|
||||||
|
Mod2.alpha()
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 13, in alpha
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 6, in beta
|
||||||
|
TypeError: can't multiply sequence by non-int of type 'float'
|
||||||
|
|
||||||
|
===== RESTART: /Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py ====
|
||||||
|
import os;os.chdir('//Users//dmitrijantonov//Desktop//POAC//python-labs//TEMA8//')
|
||||||
|
import sys,importlib
|
||||||
|
import Mod2
|
||||||
|
Mod2.alpha()
|
||||||
|
****ALPHA****
|
||||||
|
Значение t=9
|
||||||
|
****BETA****
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#78>", line 1, in <module>
|
||||||
|
Mod2.alpha()
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
|
||||||
|
print("обращание к бетта",beta(t))
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
|
||||||
|
expi=q*math.pi
|
||||||
|
TypeError: can't multiply sequence by non-int of type 'float'
|
||||||
|
dir()
|
||||||
|
['Mod2', '__annotations__', '__builtins__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'alpha', 'beta', 'importlib', 'os', 'sys']
|
||||||
|
del(alpha,beta,Mod2)
|
||||||
|
import Mod2
|
||||||
|
Mod2.alpha()
|
||||||
|
****ALPHA****
|
||||||
|
Значение t=
|
||||||
|
****BETA****
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#82>", line 1, in <module>
|
||||||
|
Mod2.alpha()
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
|
||||||
|
print("обращание к бетта",beta(t))
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
|
||||||
|
expi=q*math.pi
|
||||||
|
TypeError: can't multiply sequence by non-int of type 'float'
|
||||||
|
del(alpha,beta,Mod2)
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#83>", line 1, in <module>
|
||||||
|
del(alpha,beta,Mod2)
|
||||||
|
NameError: name 'alpha' is not defined
|
||||||
|
dir()
|
||||||
|
['Mod2', '__annotations__', '__builtins__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'importlib', 'os', 'sys']
|
||||||
|
import Mod2
|
||||||
|
Mod2.beta()
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#86>", line 1, in <module>
|
||||||
|
Mod2.beta()
|
||||||
|
TypeError: beta() missing 1 required positional argument: 'q'
|
||||||
|
Mod2.beta(2)
|
||||||
|
****BETA****
|
||||||
|
535.4916555247646
|
||||||
|
import Mod2
|
||||||
|
Mod2.alpha()
|
||||||
|
****ALPHA****
|
||||||
|
Значение t=3
|
||||||
|
****BETA****
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#89>", line 1, in <module>
|
||||||
|
Mod2.alpha()
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
|
||||||
|
print("обращание к бетта",beta(t))
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
|
||||||
|
import math
|
||||||
|
TypeError: can't multiply sequence by non-int of type 'float'
|
||||||
|
dir(Mod2,alpha,beta)
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#90>", line 1, in <module>
|
||||||
|
dir(Mod2,alpha,beta)
|
||||||
|
NameError: name 'alpha' is not defined
|
||||||
|
del(Mod2,alpha,beta)
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#91>", line 1, in <module>
|
||||||
|
del(Mod2,alpha,beta)
|
||||||
|
NameError: name 'alpha' is not defined
|
||||||
|
dir()
|
||||||
|
['__annotations__', '__builtins__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'importlib', 'os', 'sys']
|
||||||
|
import Mod2
|
||||||
|
Mod2.alpha()
|
||||||
|
****ALPHA****
|
||||||
|
Значение t=5
|
||||||
|
****BETA****
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#94>", line 1, in <module>
|
||||||
|
Mod2.alpha()
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
|
||||||
|
print("обращание к бетта",beta(t))
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
|
||||||
|
expi=float(q)*math.pi
|
||||||
|
TypeError: can't multiply sequence by non-int of type 'float'
|
||||||
|
import
|
||||||
|
SyntaxError: Expected one or more names after 'import'
|
||||||
|
import Mod2
|
||||||
|
Mod2.alpha()
|
||||||
|
****ALPHA****
|
||||||
|
Значение t=5
|
||||||
|
****BETA****
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#97>", line 1, in <module>
|
||||||
|
Mod2.alpha()
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
|
||||||
|
print("обращание к бетта",beta(t))
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
|
||||||
|
print("q",q)
|
||||||
|
TypeError: can't multiply sequence by non-int of type 'float'
|
||||||
|
import Mod2
|
||||||
|
Mod2.alpha()
|
||||||
|
****ALPHA****
|
||||||
|
Значение t=5
|
||||||
|
****BETA****
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#99>", line 1, in <module>
|
||||||
|
Mod2.alpha()
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
|
||||||
|
print("обращание к бетта",beta(t))
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
|
||||||
|
print("q",type(q))
|
||||||
|
TypeError: can't multiply sequence by non-int of type 'float'
|
||||||
|
import Mod2
|
||||||
|
Mod2.alpha()
|
||||||
|
****ALPHA****
|
||||||
|
Значение t=5
|
||||||
|
****BETA****
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#101>", line 1, in <module>
|
||||||
|
Mod2.alpha()
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
|
||||||
|
print("обращание к бетта",beta(t))
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
|
||||||
|
print(type(q))
|
||||||
|
TypeError: can't multiply sequence by non-int of type 'float'
|
||||||
|
import Mod2
|
||||||
|
Mod2.alpha()
|
||||||
|
****ALPHA****
|
||||||
|
Значение t=8
|
||||||
|
****BETA****
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#103>", line 1, in <module>
|
||||||
|
Mod2.alpha()
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
|
||||||
|
print("обращание к бетта",beta(float(t)))
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
|
||||||
|
print(type(q))
|
||||||
|
TypeError: can't multiply sequence by non-int of type 'float'
|
||||||
|
import Mod2
|
||||||
|
Mod2.alpha()
|
||||||
|
****ALPHA****
|
||||||
|
Значение t=8.8
|
||||||
|
****BETA****
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#105>", line 1, in <module>
|
||||||
|
Mod2.alpha()
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
|
||||||
|
print("обращание к бетта",beta(float(t)))
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
|
||||||
|
print(type(q))
|
||||||
|
TypeError: can't multiply sequence by non-int of type 'float'
|
||||||
|
import Mod2
|
||||||
|
Mod2.alpha()
|
||||||
|
****ALPHA****
|
||||||
|
Значение t=9
|
||||||
|
****BETA****
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#107>", line 1, in <module>
|
||||||
|
Mod2.alpha()
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
|
||||||
|
print("обращание к бетта",beta(int(t)))
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
|
||||||
|
print(type(q))
|
||||||
|
TypeError: can't multiply sequence by non-int of type 'float'
|
||||||
|
del(Mod2,alpha,beta)
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#108>", line 1, in <module>
|
||||||
|
del(Mod2,alpha,beta)
|
||||||
|
NameError: name 'alpha' is not defined
|
||||||
|
dir()
|
||||||
|
['__annotations__', '__builtins__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'importlib', 'os', 'sys']
|
||||||
|
import Mod2
|
||||||
|
Mod2.alpha()
|
||||||
|
****ALPHA****
|
||||||
|
Значение t=9
|
||||||
|
****BETA****
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#111>", line 1, in <module>
|
||||||
|
Mod2.alpha()
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
|
||||||
|
print("обращание к бетта",beta(int(t)))
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
|
||||||
|
print(type(q))
|
||||||
|
TypeError: can't multiply sequence by non-int of type 'float'
|
||||||
|
import Mod2
|
||||||
|
Mod2.alpha()
|
||||||
|
****ALPHA****
|
||||||
|
Значение t=9
|
||||||
|
****BETA****
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#113>", line 1, in <module>
|
||||||
|
Mod2.alpha()
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
|
||||||
|
print("обращание к бетта")
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
|
||||||
|
import math
|
||||||
|
TypeError: can't multiply sequence by non-int of type 'float'
|
||||||
|
tt=alpha()
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#114>", line 1, in <module>
|
||||||
|
tt=alpha()
|
||||||
|
NameError: name 'alpha' is not defined
|
||||||
|
from Mod2 import *
|
||||||
|
tt=alpha()
|
||||||
|
****ALPHA****
|
||||||
|
Значение t=9
|
||||||
|
****BETA****
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#116>", line 1, in <module>
|
||||||
|
tt=alpha()
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
|
||||||
|
print("обращание к бетта")
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
|
||||||
|
import math
|
||||||
|
TypeError: can't multiply sequence by non-int of type 'float'
|
||||||
|
from Mod2 import *
|
||||||
|
tt=alpha()
|
||||||
|
****ALPHA****
|
||||||
|
Значение t=0
|
||||||
|
****BETA****
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#118>", line 1, in <module>
|
||||||
|
tt=alpha()
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
|
||||||
|
print("обращание к бетта")
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
|
||||||
|
print(type(q))
|
||||||
|
TypeError: can't multiply sequence by non-int of type 'float'
|
||||||
|
del(Mod2,alpha,beta)
|
||||||
|
from Mod2 import *
|
||||||
|
tt=alpha()
|
||||||
|
****ALPHA****
|
||||||
|
Значение t=9
|
||||||
|
****BETA****
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#121>", line 1, in <module>
|
||||||
|
tt=alpha()
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
|
||||||
|
print("обращание к бетта")
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
|
||||||
|
print(type(q))
|
||||||
|
TypeError: can't multiply sequence by non-int of type 'float'
|
||||||
|
del(Mod2,alpha,beta)
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#122>", line 1, in <module>
|
||||||
|
del(Mod2,alpha,beta)
|
||||||
|
NameError: name 'Mod2' is not defined
|
||||||
|
dir()
|
||||||
|
['__annotations__', '__builtins__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'alpha', 'beta', 'importlib', 'os', 'sys']
|
||||||
|
del(alpha,beta)
|
||||||
|
dir()
|
||||||
|
['__annotations__', '__builtins__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'importlib', 'os', 'sys']
|
||||||
|
from Mod2 import *
|
||||||
|
dir()
|
||||||
|
['__annotations__', '__builtins__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'alpha', 'beta', 'importlib', 'os', 'sys']
|
||||||
|
alpha.__doc__
|
||||||
|
print(alpha.__doc__)
|
||||||
|
None
|
||||||
|
alpha()
|
||||||
|
****ALPHA****
|
||||||
|
Значение t=9
|
||||||
|
****BETA****
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#130>", line 1, in <module>
|
||||||
|
alpha()
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 4, in alpha
|
||||||
|
print("обращание к бетта")
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod2.py", line 10, in beta
|
||||||
|
print(type(q))
|
||||||
|
TypeError: can't multiply sequence by non-int of type 'float'
|
||||||
|
|
||||||
|
import Mod2
|
||||||
|
Mod2.alpha()
|
||||||
|
****ALPHA****
|
||||||
|
Значение t=9
|
||||||
|
****BETA****
|
||||||
|
<class 'float'>
|
||||||
|
обращание к бетта 1902773895292.1592
|
||||||
|
'9'
|
||||||
|
|
||||||
|
import Mod2
|
||||||
|
Mod2.beta(9)
|
||||||
|
****BETA****
|
||||||
|
<class 'int'>
|
||||||
|
****ALPHA****
|
||||||
|
Значение t=9
|
||||||
|
обращание к альфа 9
|
||||||
|
1902773895292.1592
|
||||||
|
|
||||||
|
import Mod0
|
||||||
|
Mod1:Введите значение = 9
|
||||||
|
Mod1:Значение perm1= 9
|
||||||
|
perm1= 9
|
||||||
|
****ALPHA****
|
||||||
|
Значение t=8
|
||||||
|
tt= 8
|
||||||
|
****BETA****
|
||||||
|
<class 'float'>
|
||||||
|
qq= 82226315585.59491
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#19>", line 1, in <module>
|
||||||
|
import Mod0
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA8/Mod0.py", line 10, in <module>
|
||||||
|
print(t,expi)
|
||||||
|
NameE
|
||||||
|
|
||||||
|
import Mod0
|
||||||
|
Mod1:Введите значение = 5
|
||||||
|
Mod1:Значение perm1= 5
|
||||||
|
perm1= 5
|
||||||
|
perm1= 15
|
||||||
|
****ALPHA****
|
||||||
|
Значение t=6
|
||||||
|
tt= 6
|
||||||
|
****BETA****
|
||||||
|
<class 'float'>
|
||||||
|
qq= 153552935.39544657
|
||||||
|
|
||||||
|
dir()
|
||||||
|
['Mod0', '__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'importlib', 'os', 'sys']
|
||||||
|
perm1
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#22>", line 1, in <module>
|
||||||
|
perm1
|
||||||
|
NameError: name 'perm1' is not defined
|
||||||
|
Mod0.perm1 * 2
|
||||||
|
30
|
||||||
|
tt * 2
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#24>", line 1, in <module>
|
||||||
|
tt * 2
|
||||||
|
NameError: name 'tt' is not defined
|
||||||
|
qq*2
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#25>", line 1, in <module>
|
||||||
|
qq*2
|
||||||
|
NameError: name 'qq' is not defined
|
||||||
|
Mod0.qq * 2
|
||||||
|
307105870.79089314
|
||||||
|
Mod0.tt * 2
|
||||||
|
'66'
|
||||||
|
```
|
||||||
12
TEMA8/task.md
Обычный файл
12
TEMA8/task.md
Обычный файл
@@ -0,0 +1,12 @@
|
|||||||
|
# Общее контрольное задание по теме 8
|
||||||
|
|
||||||
|
**Антонов Дмитрий, А-03-23**
|
||||||
|
```py
|
||||||
|
import module3
|
||||||
|
module3.brain()
|
||||||
|
Введите имя первого текстового файла testfile1.txt
|
||||||
|
Введите имя второго текстового файла testfile2.txt
|
||||||
|
-192.75 397.74528595572315
|
||||||
|
-0.4846066233993201
|
||||||
|
Коэффициент корреляции = -0.485
|
||||||
|
```
|
||||||
2
TEMA8/testfile1.txt
Обычный файл
2
TEMA8/testfile1.txt
Обычный файл
@@ -0,0 +1,2 @@
|
|||||||
|
1 2 3
|
||||||
|
5 6 8 1212
|
||||||
2
TEMA8/testfile2.txt
Обычный файл
2
TEMA8/testfile2.txt
Обычный файл
@@ -0,0 +1,2 @@
|
|||||||
|
112 3 4
|
||||||
|
2
|
||||||
18
TEMA9/Mod3.py
Обычный файл
18
TEMA9/Mod3.py
Обычный файл
@@ -0,0 +1,18 @@
|
|||||||
|
class Class1: #Объявление класса Class1 в модуле
|
||||||
|
def zad_zn(self,znach): # 1 Метод класса
|
||||||
|
self.data=znach # self - ссылка на экземпляр класса Class1
|
||||||
|
def otobrazh(self): # 2 Метод класса
|
||||||
|
print(self.data)#Отображение данных экземпляра
|
||||||
|
class Class2(Class1): #Class2 - наследник класса Class1
|
||||||
|
def otobrazh(self): # Метод класса Class2
|
||||||
|
print('значение=',self.data)#Отображение данных экземпляра
|
||||||
|
def otobrazh(objekt): #Объявление самостоятельной функции
|
||||||
|
print('значение объекта=',objekt)
|
||||||
|
|
||||||
|
class Class3(Class2): #Наследник класса Class2, а через него – и класса Class1
|
||||||
|
def __init__(self,znach): #Конструктор-вызывается при создании нового экземпляра класса
|
||||||
|
self.data=znach
|
||||||
|
def __add__(self,drug_zn): #Вызывается, когда экземпляр участвует в операции «+»
|
||||||
|
return Class3(self.data+drug_zn)
|
||||||
|
def zad_dr_zn(self,povtor): #А это - обычный метод
|
||||||
|
self.data*=povtor
|
||||||
21
TEMA9/SAU.py
Обычный файл
21
TEMA9/SAU.py
Обычный файл
@@ -0,0 +1,21 @@
|
|||||||
|
class SAU:
|
||||||
|
def __init__(self,zn_param):
|
||||||
|
self.param=zn_param
|
||||||
|
self.ypr=[0,0]
|
||||||
|
|
||||||
|
def zdn_zn(self,upr):
|
||||||
|
self.x=upr
|
||||||
|
|
||||||
|
def model(self):
|
||||||
|
def inerz(x,T,yy):
|
||||||
|
return (x+T*yy)/(T+1)
|
||||||
|
|
||||||
|
y0=self.x-self.ypr[1]*self.param[3] #Обр.связь с усилителем 2
|
||||||
|
y1=self.param[0]*y0 #Усилитель1
|
||||||
|
y2=inerz(y1,self.param[1],self.ypr[0]) #Инерционное звено1
|
||||||
|
y3=inerz(y2,self.param[2],self.ypr[1]) #Инерционное звено2
|
||||||
|
self.ypr[0]=y2
|
||||||
|
self.ypr[1]=y3
|
||||||
|
|
||||||
|
def otobraz(self):
|
||||||
|
print('y=',self.ypr[1])
|
||||||
30
TEMA9/control.py
Обычный файл
30
TEMA9/control.py
Обычный файл
@@ -0,0 +1,30 @@
|
|||||||
|
class Departament:
|
||||||
|
|
||||||
|
def __init__(self,fio,otdel,dolzhnost,oklad):
|
||||||
|
self.fio = fio
|
||||||
|
self.otdel = otdel
|
||||||
|
self.dolzhnost = dolzhnost
|
||||||
|
self.oklad = oklad
|
||||||
|
self.__prm = list()
|
||||||
|
def increase(self,put):
|
||||||
|
self.oklad += put
|
||||||
|
|
||||||
|
def new_work(self,new_otdel):
|
||||||
|
self.otdel = new_otdel
|
||||||
|
|
||||||
|
def new_dolzhnost(self,new_dolzh):
|
||||||
|
self.dolzhnost = new_dolzh
|
||||||
|
|
||||||
|
def all_info(self):
|
||||||
|
print(self.fio,self.otdel,self.dolzhnost,self.oklad,self.prop)
|
||||||
|
|
||||||
|
def getter(self):
|
||||||
|
return self.__prm
|
||||||
|
|
||||||
|
def setter(self,new):
|
||||||
|
self.__prm.append(new)
|
||||||
|
|
||||||
|
prop = property(getter,setter)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Двоичные данные
TEMA9/fig.png
Обычный файл
Двоичные данные
TEMA9/fig.png
Обычный файл
Двоичный файл не отображается.
|
После Ширина: | Высота: | Размер: 14 KiB |
Двоичные данные
TEMA9/k002.png
Обычный файл
Двоичные данные
TEMA9/k002.png
Обычный файл
Двоичный файл не отображается.
|
После Ширина: | Высота: | Размер: 18 KiB |
Двоичные данные
TEMA9/k20.png
Обычный файл
Двоичные данные
TEMA9/k20.png
Обычный файл
Двоичный файл не отображается.
|
После Ширина: | Высота: | Размер: 18 KiB |
Двоичные данные
TEMA9/k5.png
Обычный файл
Двоичные данные
TEMA9/k5.png
Обычный файл
Двоичный файл не отображается.
|
После Ширина: | Высота: | Размер: 15 KiB |
352
TEMA9/report.md
Обычный файл
352
TEMA9/report.md
Обычный файл
@@ -0,0 +1,352 @@
|
|||||||
|
# Отчет по теме 9
|
||||||
|
|
||||||
|
**Антонов Дмитрий, А-03-23**
|
||||||
|
|
||||||
|
### 1.Начало работы, настройка текущего каталога
|
||||||
|
```py
|
||||||
|
import os
|
||||||
|
os.chdir('//Users//dmitrijantonov//Desktop//POAC//python-labs//TEMA9//')
|
||||||
|
```
|
||||||
|
### 2.Создание классов и их наследников
|
||||||
|
#### 2.1 Создание класса
|
||||||
|
```py
|
||||||
|
class Class1: #Объявление класса
|
||||||
|
def zad_zn(self,znach): #Метод 1 класса1 – задание значения data
|
||||||
|
self.data=znach # self - ссылка на экземпляр класса
|
||||||
|
def otobrazh(self): # Метод 2 класса1
|
||||||
|
print(self.data)#Отображение данных экземпляра класса
|
||||||
|
|
||||||
|
z1=Class1() #Создаём 1-й экземпляр класса
|
||||||
|
dir()
|
||||||
|
['Class1', '__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'os', 'z1']
|
||||||
|
```
|
||||||
|
- Вызов методов у экзмепляров класса
|
||||||
|
```py
|
||||||
|
z2=Class1()
|
||||||
|
z1.zad_zn('экз.класса 1')
|
||||||
|
z2.zad_zn(-632.453)
|
||||||
|
z1.otobrazh()
|
||||||
|
экз.класса 1
|
||||||
|
z2.otobrazh()
|
||||||
|
-632.453
|
||||||
|
z1.data='Новое значение атрибута у экз.1';z1.otobrazh()
|
||||||
|
Новое значение атрибута у экз.1
|
||||||
|
```
|
||||||
|
#### 2.2 Создание класса-наследника
|
||||||
|
```py
|
||||||
|
class Class2(Class1): #Class2 - наследник класса Class1
|
||||||
|
def otobrazh(self): # Метод класса Class2 – переопределяет метод родителя
|
||||||
|
print('значение=',self.data)#Отображение данных экземпляра
|
||||||
|
|
||||||
|
z3=Class2()
|
||||||
|
dir(z3)
|
||||||
|
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__firstlineno__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__static_attributes__', '__str__', '__subclasshook__', '__weakref__', 'otobrazh', 'zad_zn']
|
||||||
|
z3.zad_zn('Совсем новое')
|
||||||
|
z3.otobrazh()
|
||||||
|
значение= Совсем новое
|
||||||
|
z1.otobrazh()
|
||||||
|
```
|
||||||
|
- Родитлеский класс не изменил значение поля класса
|
||||||
|
```py
|
||||||
|
Новое значение атрибута у экз.1
|
||||||
|
del z1,z2,z3
|
||||||
|
```
|
||||||
|
### 3. Использование классов, содержащихся в модулях
|
||||||
|
```py
|
||||||
|
from Mod3 import Class1 #Частичный импорт содержимого модуля
|
||||||
|
z4=Class1()
|
||||||
|
z4.otobrazh()
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#5>", line 1, in <module>
|
||||||
|
z4.otobrazh()
|
||||||
|
File "/Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA9/Mod3.py", line 5, in otobrazh
|
||||||
|
print(self.data)#Отображение данных экземпляра
|
||||||
|
AttributeError: 'Class1' object has no attribute 'data'
|
||||||
|
```
|
||||||
|
- Нет data, ничего не задавали -> нечего вывести
|
||||||
|
```py
|
||||||
|
z4.zad_zn(2)
|
||||||
|
z4.otobrazh()
|
||||||
|
2
|
||||||
|
from Mod3 import Class1
|
||||||
|
z4=Class1()
|
||||||
|
z4.data='значение данного data у экз.4'
|
||||||
|
z4.otobrazh()
|
||||||
|
значение данного data у экз.4
|
||||||
|
del z4
|
||||||
|
dir()
|
||||||
|
['Class1', '__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'os']
|
||||||
|
```
|
||||||
|
- Меняем значение у класса, значение экземпляра - неизменно
|
||||||
|
```py
|
||||||
|
import Mod3
|
||||||
|
z4=Mod3.Class2()
|
||||||
|
z4.zad_zn('Класс из модуля')
|
||||||
|
z4.otobrazh()
|
||||||
|
значение= Класс из модуля
|
||||||
|
Mod3.otobrazh('Объект')
|
||||||
|
значение объекта= Объект
|
||||||
|
z4.otobrazh()
|
||||||
|
значение= Класс из модуля
|
||||||
|
```
|
||||||
|
### 4.Использование специальных методов
|
||||||
|
```py
|
||||||
|
import Mod3
|
||||||
|
z5=Mod3.Class3('abc') #При создании экземпляра срабатывает конструктор __init__
|
||||||
|
z5.otobrazh()
|
||||||
|
значение= abc
|
||||||
|
```
|
||||||
|
- При операции выполнении+ срабатывает метод _add_
|
||||||
|
```py
|
||||||
|
z6=z5+'def'
|
||||||
|
z6.otobrazh()
|
||||||
|
значение= abcdef
|
||||||
|
z6.zad_dr_zn(3)
|
||||||
|
type(z6)
|
||||||
|
<class 'Mod3.Class3'>
|
||||||
|
z6.otobrazh()
|
||||||
|
значение= abcdefabcdefabcdef
|
||||||
|
```
|
||||||
|
### 5.Присоединение атрибутов к классу
|
||||||
|
```py
|
||||||
|
dir(Class3)
|
||||||
|
['__add__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__firstlineno__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__static_attributes__', '__str__', '__subclasshook__', '__weakref__', 'otobrazh', 'zad_dr_zn', 'zad_zn']
|
||||||
|
```
|
||||||
|
- Создание нового отрибута
|
||||||
|
```py
|
||||||
|
Class3.fio='Иванов И.И.'
|
||||||
|
dir(Class3)
|
||||||
|
['__add__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__firstlineno__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__static_attributes__', '__str__', '__subclasshook__', '__weakref__', 'fio', 'otobrazh', 'zad_dr_zn', 'zad_zn']
|
||||||
|
z7=Class3(123)
|
||||||
|
```
|
||||||
|
- Отличие в data
|
||||||
|
```py
|
||||||
|
dir(z7)==dir(Class3)
|
||||||
|
False
|
||||||
|
z7.fio
|
||||||
|
'Иванов И.И.'
|
||||||
|
z7.otobrazh()
|
||||||
|
значение= 123
|
||||||
|
dir(z7)
|
||||||
|
['__add__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__firstlineno__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__static_attributes__', '__str__', '__subclasshook__', '__weakref__', 'data', 'fio', 'otobrazh', 'zad_dr_zn', 'zad_zn']
|
||||||
|
dir(Class3)
|
||||||
|
['__add__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__firstlineno__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__static_attributes__', '__str__', '__subclasshook__', '__weakref__', 'fio', 'otobrazh', 'zad_dr_zn', 'zad_zn']
|
||||||
|
```
|
||||||
|
- Значение не изменилось у родительского класса
|
||||||
|
```py
|
||||||
|
z7.fio ='fff'
|
||||||
|
z7.fio
|
||||||
|
'fff'
|
||||||
|
Class3.fio
|
||||||
|
'Иванов И.И.'
|
||||||
|
z7.rozden='1987'
|
||||||
|
```
|
||||||
|
- Атрибут rozden не появится у родительского класса
|
||||||
|
```py
|
||||||
|
dir(z7)
|
||||||
|
['__add__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__firstlineno__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__static_attributes__', '__str__', '__subclasshook__', '__weakref__', 'data', 'fio', 'otobrazh', 'rozden', 'zad_dr_zn', 'zad_zn']
|
||||||
|
dir(Class3)
|
||||||
|
['__add__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__firstlineno__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__static_attributes__', '__str__', '__subclasshook__', '__weakref__', 'fio', 'otobrazh', 'zad_dr_zn', 'zad_zn']
|
||||||
|
```
|
||||||
|
### 6.Выявление родительских классов
|
||||||
|
- Выявление родительских классов с помощью атрибута _bases_
|
||||||
|
```py
|
||||||
|
from Mod3 import Class1,Class2,Class3
|
||||||
|
dir()
|
||||||
|
['Class1', 'Class2', 'Class3', 'Mod3', '__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'os']
|
||||||
|
Class3.__bases__
|
||||||
|
(<class 'Mod3.Class2'>,)
|
||||||
|
Class2.__bases__
|
||||||
|
(<class 'Mod3.Class1'>,)
|
||||||
|
Class1.__bases__
|
||||||
|
(<class 'object'>,)
|
||||||
|
```
|
||||||
|
- Выявление родительских классов (вся цепочка) с помощью атрибута _mro_
|
||||||
|
```py
|
||||||
|
Class3.__mro__
|
||||||
|
(<class 'Mod3.Class3'>, <class 'Mod3.Class2'>, <class 'Mod3.Class1'>, <class 'object'>)
|
||||||
|
ZeroDivisionError.__mro__
|
||||||
|
(<class 'ZeroDivisionError'>, <class 'ArithmeticError'>, <class 'Exception'>, <class 'BaseException'>, <class 'object'>)
|
||||||
|
```
|
||||||
|
### 7. Создание свойства класса
|
||||||
|
```py
|
||||||
|
class Class4:
|
||||||
|
def __init__(sam,znach):
|
||||||
|
sam.__prm=znach
|
||||||
|
def chten(sam):
|
||||||
|
return sam.__prm
|
||||||
|
def zapis(sam,znch):
|
||||||
|
sam.__prm=znch
|
||||||
|
def stiran(sam):
|
||||||
|
del sam.__prm
|
||||||
|
svojstvo=property(chten,zapis,stiran)
|
||||||
|
```
|
||||||
|
- Инициализация свойства (getter setter)
|
||||||
|
```py
|
||||||
|
exempl=Class4(12)
|
||||||
|
exempl.svojstvo
|
||||||
|
12
|
||||||
|
exempl.svojstvo=45
|
||||||
|
exempl.svojstvo
|
||||||
|
45
|
||||||
|
print(exempl.svojstvo)
|
||||||
|
45
|
||||||
|
del exempl.svojstvo
|
||||||
|
print(exempl.svojstvo)
|
||||||
|
```
|
||||||
|
- Свойство удалено у экземпляра, невозможно обратиться. У класса свойство остается
|
||||||
|
```py
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#20>", line 1, in <module>
|
||||||
|
print(exempl.svojstvo)
|
||||||
|
File "<pyshell#13>", line 5, in chten
|
||||||
|
return sam.__prm
|
||||||
|
AttributeError: 'Class4' object has no attribute '_Class4__prm'
|
||||||
|
|
||||||
|
newexp=Class4(12)
|
||||||
|
newexp.svojstvo
|
||||||
|
12
|
||||||
|
```
|
||||||
|
- Вывод: Удаляется только атрибут __prm, а не весь экземпляр. Ошибка возникает из-за попытки чтения несуществующего атрибута. Нужно добавить проверку в методы класса.
|
||||||
|
### 8. Представления в виде класса модели системы автоматического регулирова-ния (САР), состоящей из последовательного соединения усилителя и двух инерционных звеньев, охваченных отрицательной обратной связью с усилителем.
|
||||||
|
```py
|
||||||
|
class SAU:
|
||||||
|
def __init__(self,zn_param):
|
||||||
|
self.param=zn_param
|
||||||
|
self.ypr=[0,0]
|
||||||
|
|
||||||
|
def zdn_zn(self,upr):
|
||||||
|
self.x=upr
|
||||||
|
|
||||||
|
def model(self):
|
||||||
|
def inerz(x,T,yy):
|
||||||
|
return (x+T*yy)/(T+1)
|
||||||
|
|
||||||
|
y0=self.x-self.ypr[1]*self.param[3] #Обр.связь с усилителем 2
|
||||||
|
y1=self.param[0]*y0 #Усилитель1
|
||||||
|
y2=inerz(y1,self.param[1],self.ypr[0]) #Инерционное звено1
|
||||||
|
y3=inerz(y2,self.param[2],self.ypr[1]) #Инерционное звено2
|
||||||
|
self.ypr[0]=y2
|
||||||
|
self.ypr[1]=y3
|
||||||
|
|
||||||
|
def otobraz(self):
|
||||||
|
print('y=',self.ypr[1])
|
||||||
|
```
|
||||||
|
- Код тестирования
|
||||||
|
```py
|
||||||
|
###main_SAU
|
||||||
|
prm=[2.5,4,1.3,0.8] #Параметры модели: коэф.усиления, 2 пост.времени, обратная связь
|
||||||
|
from SAU import *
|
||||||
|
xx=[0]+[1]*20 #Входной сигнал – «ступенька»
|
||||||
|
SAUe=SAU(prm) # Создаём экземпляр класса
|
||||||
|
yt=[]
|
||||||
|
for xt in xx: # Прохождение входного сигнала
|
||||||
|
SAUe.zdn_zn(xt)
|
||||||
|
SAUe.model()
|
||||||
|
SAUe.otobraz()
|
||||||
|
yt.append(SAUe.ypr[1])
|
||||||
|
import pylab
|
||||||
|
pylab.plot(yt)
|
||||||
|
pylab.show()
|
||||||
|
```
|
||||||
|
- Запуск модуль тестирования
|
||||||
|
```py
|
||||||
|
import test
|
||||||
|
y= 0.0
|
||||||
|
y= 0.2173913043478261
|
||||||
|
y= 0.4763705103969754
|
||||||
|
y= 0.686594887811293
|
||||||
|
y= 0.8199324616478645
|
||||||
|
y= 0.8837201137353929
|
||||||
|
y= 0.8994188484874774
|
||||||
|
y= 0.8892777072047301
|
||||||
|
y= 0.870097963179993
|
||||||
|
y= 0.8518346102696789
|
||||||
|
y= 0.8387499784485772
|
||||||
|
y= 0.8314204114211459
|
||||||
|
y= 0.8286051955249649
|
||||||
|
y= 0.8285656555914835
|
||||||
|
y= 0.8297915186846528
|
||||||
|
y= 0.8312697736438287
|
||||||
|
y= 0.8324765218921963
|
||||||
|
y= 0.8332456979978418
|
||||||
|
y= 0.8336163607592184
|
||||||
|
y= 0.8337101315489143
|
||||||
|
y= 0.833654237067147
|
||||||
|
```
|
||||||
|

|
||||||
|
```py
|
||||||
|
===== RESTART: /Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA9/test.py ====
|
||||||
|
y= 0.0
|
||||||
|
y= 0.4347826086956522
|
||||||
|
y= 0.8771266540642723
|
||||||
|
y= 1.1305662858551822
|
||||||
|
y= 1.1883971255105579
|
||||||
|
y= 1.1326349288718767
|
||||||
|
y= 1.0497533578387872
|
||||||
|
y= 0.990644578833048
|
||||||
|
y= 0.9679847053552146
|
||||||
|
y= 0.9716581950194924
|
||||||
|
y= 0.9856417751200821
|
||||||
|
y= 0.9982074917220521
|
||||||
|
y= 1.0046687323933552
|
||||||
|
y= 1.005560453221529
|
||||||
|
y= 1.0035460777605603
|
||||||
|
y= 1.0010934567866612
|
||||||
|
y= 0.9995090295694802
|
||||||
|
y= 0.9990060583193288
|
||||||
|
y= 0.999210776397813
|
||||||
|
y= 0.9996464852690349
|
||||||
|
y= 0.9999972035112243
|
||||||
|
```
|
||||||
|

|
||||||
|
```py
|
||||||
|
===== RESTART: /Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA9/test.py ====
|
||||||
|
y= 0.0
|
||||||
|
y= 10.434782608695652
|
||||||
|
y= -62.42722117202269
|
||||||
|
y= 441.6213035259309
|
||||||
|
y= -3045.006010698934
|
||||||
|
y= 21072.830598329532
|
||||||
|
y= -145756.02311219365
|
||||||
|
y= 1008239.1249389423
|
||||||
|
y= -6974221.774992491
|
||||||
|
y= 48242372.61584475
|
||||||
|
y= -333704038.94107586
|
||||||
|
y= 2308310792.118783
|
||||||
|
y= -15967138737.795193
|
||||||
|
y= 110448523882.25536
|
||||||
|
y= -763998899668.5714
|
||||||
|
y= 5284763419071.18
|
||||||
|
y= -36555974632436.45
|
||||||
|
y= 252866434191791.06
|
||||||
|
y= -1749137704131481.2
|
||||||
|
y= 1.209920453773572e+16
|
||||||
|
y= -8.369309637553866e+16
|
||||||
|
```
|
||||||
|

|
||||||
|
```py
|
||||||
|
===== RESTART: /Users/dmitrijantonov/Desktop/POAC/python-labs/TEMA9/test.py ====
|
||||||
|
y= 0.0
|
||||||
|
y= 1.7391304347826089
|
||||||
|
y= 1.6937618147448015
|
||||||
|
y= 0.9085559299745211
|
||||||
|
y= 0.9495540682030151
|
||||||
|
y= 1.3035341690149207
|
||||||
|
y= 1.2757616169252037
|
||||||
|
y= 1.116425550960422
|
||||||
|
y= 1.133140167539201
|
||||||
|
y= 1.2047517464994821
|
||||||
|
y= 1.1953257047692445
|
||||||
|
y= 1.163190713632341
|
||||||
|
y= 1.168291227922628
|
||||||
|
y= 1.1826887757160904
|
||||||
|
y= 1.180006868007609
|
||||||
|
y= 1.1735666352933953
|
||||||
|
y= 1.1749473300671665
|
||||||
|
y= 1.17782341716993
|
||||||
|
y= 1.1771240746521525
|
||||||
|
y= 1.175841826810497
|
||||||
|
y= 1.1761915011970139
|
||||||
|
```
|
||||||
|

|
||||||
70
TEMA9/task.md
Обычный файл
70
TEMA9/task.md
Обычный файл
@@ -0,0 +1,70 @@
|
|||||||
|
# Общее контрольное задание по теме 8
|
||||||
|
|
||||||
|
**Антонов Дмитрий, А-03-23** \
|
||||||
|
Общее контрольное задание.
|
||||||
|
Создайте и запишите в модуль класс, содержащий следующие компоненты:
|
||||||
|
- конструктор, задающий четырем атрибутам (fio, otdel, dolzhnost, oklad), представляющим фа-милии сотрудников, название отделов, названия должностей сотрудников и размеры их окладов, некоторые начальные значения;
|
||||||
|
- метод для обеспечения операции повышения оклада сотрудника на заданное значение;
|
||||||
|
- метод для обеспечения перевода сотрудника из одного отдела в другой;
|
||||||
|
- метод для изменения должности сотрудника;
|
||||||
|
- свойство, содержащее перечень (список) поощрений сотрудника.
|
||||||
|
```py
|
||||||
|
class Departament:
|
||||||
|
|
||||||
|
def __init__(self,fio,otdel,dolzhnost,oklad):
|
||||||
|
self.fio = fio
|
||||||
|
self.otdel = otdel
|
||||||
|
self.dolzhnost = dolzhnost
|
||||||
|
self.oklad = oklad
|
||||||
|
self.__prm = list()
|
||||||
|
def increase(self,put):
|
||||||
|
self.oklad += put
|
||||||
|
|
||||||
|
def new_work(self,new_otdel):
|
||||||
|
self.otdel = new_otdel
|
||||||
|
|
||||||
|
def new_dolzhnost(self,new_dolzh):
|
||||||
|
self.dolzhnost = new_dolzh
|
||||||
|
|
||||||
|
def all_info(self):
|
||||||
|
print(self.fio,self.otdel,self.dolzhnost,self.oklad,self.prop)
|
||||||
|
|
||||||
|
def getter(self):
|
||||||
|
return self.__prm
|
||||||
|
|
||||||
|
def setter(self,new):
|
||||||
|
self.__prm.append(new)
|
||||||
|
|
||||||
|
prop = property(getter,setter)
|
||||||
|
```
|
||||||
|
Задание: Создайте 2 экземпляра класса, задайте им некоторые значения атрибутов и свойства. Отобразите эти значения. Попробуйте с этими экземплярами операции перевода из отдела в отдел, измене-ния должности и оклада, объявления благодарности.
|
||||||
|
```py
|
||||||
|
from control import Departament
|
||||||
|
empl_fr = Departament("Иванов И.И.","УИТ","Доцент",100)
|
||||||
|
empl_sec = Departament("Петров П.П.","ИРЭ","Аспирант",50)
|
||||||
|
|
||||||
|
empl_fr.all_info()
|
||||||
|
Иванов И.И. УИТ Доцент 100 []
|
||||||
|
|
||||||
|
empl_sec.all_info()
|
||||||
|
Петров П.П. ИРЭ Аспирант 50 []
|
||||||
|
|
||||||
|
empl_sec.new_work("УИТ")
|
||||||
|
empl_sec.all_info()
|
||||||
|
Петров П.П. УИТ Аспирант 50
|
||||||
|
|
||||||
|
empl_fr.new_dolzhnost("Академик")
|
||||||
|
empl_fr.increase(120)
|
||||||
|
empl_fr.all_info()
|
||||||
|
Иванов И.И. УИТ Академик 220
|
||||||
|
|
||||||
|
empl_fr.prop="Отличная работа!"
|
||||||
|
empl_fr.all_info()
|
||||||
|
Иванов И.И. УИТ Академик 220 Отличная работа!
|
||||||
|
|
||||||
|
empl_fr.prop="Отличная работа!"
|
||||||
|
empl_fr.prop="Отличная работа!"
|
||||||
|
empl_fr.prop="Отличная работа!"
|
||||||
|
empl_fr.all_info()
|
||||||
|
Иванов И.И. УИТ Доцент 100 ['Отличная работа!', 'Отличная работа!', 'Отличная работа!']
|
||||||
|
```
|
||||||
14
TEMA9/test.py
Обычный файл
14
TEMA9/test.py
Обычный файл
@@ -0,0 +1,14 @@
|
|||||||
|
###main_SAU
|
||||||
|
prm=[0.01,4,1.3,0.8] #Параметры модели: коэф.усиления, 2 пост.времени, обратная связь
|
||||||
|
from SAU import *
|
||||||
|
xx=[0]+[1]*20 #Входной сигнал – «ступенька»
|
||||||
|
SAUe=SAU(prm) # Создаём экземпляр класса
|
||||||
|
yt=[]
|
||||||
|
for xt in xx: # Прохождение входного сигнала
|
||||||
|
SAUe.zdn_zn(xt)
|
||||||
|
SAUe.model()
|
||||||
|
SAUe.otobraz()
|
||||||
|
yt.append(SAUe.ypr[1])
|
||||||
|
import pylab
|
||||||
|
pylab.plot(yt)
|
||||||
|
pylab.show()
|
||||||
Ссылка в новой задаче
Block a user