форкнуто от main/python-labs
Родитель
3b9e04afc6
Сommit
f1271d299c
@ -0,0 +1,44 @@
|
|||||||
|
# Индивидуальное контрольное задание по ТЕМЕ №8
|
||||||
|
Степанищев Виктор, А-03-23
|
||||||
|
|
||||||
|
## Задание
|
||||||
|
```
|
||||||
|
#2 (из ЛР№7)
|
||||||
|
Разработайте функцию с 4 аргументами, создающую последовательность отсчетов случайного, нормально распределенного сигнала типа белого шума с заданными параметрами: математическое ожидание и дисперсия, число отсчетов (аргументы функции). Сигнал должен быть записан построчно, по 3 элемента в строке с разделителем - пробел в текстовый файл с заданным именем (4-й аргумент функции), а также возвращен в вызывающую программу в виде списка.
|
||||||
|
|
||||||
|
Дополнительно: раскидать ввод параметров в один .py файл, выполнение функции в другой .py файл
|
||||||
|
```
|
||||||
|
|
||||||
|
## Решение
|
||||||
|
|
||||||
|
### Файл input_data.py
|
||||||
|
```py
|
||||||
|
filename = input('Enter filename: ')
|
||||||
|
mean = float(input('Enter mean: '))
|
||||||
|
dispersia = float(input('Enter dispersia: '))
|
||||||
|
count = int(input('Enter count: '))
|
||||||
|
```
|
||||||
|
|
||||||
|
### Файл file_with_func.py
|
||||||
|
```py
|
||||||
|
from random import gauss
|
||||||
|
import math
|
||||||
|
|
||||||
|
def func(mean, dispersia, count):
|
||||||
|
otklonenye = math.sqrt(dispersia)
|
||||||
|
samples = [gauss(mean, otklonenye) for i in range(count)]
|
||||||
|
|
||||||
|
return samples
|
||||||
|
```
|
||||||
|
|
||||||
|
### Файл test.py
|
||||||
|
```py
|
||||||
|
from input_data import *
|
||||||
|
from file_with_func import func
|
||||||
|
|
||||||
|
samples = func(mean, dispersia, count)
|
||||||
|
|
||||||
|
with open(filename, 'w') as f:
|
||||||
|
for i in range(0, count, 3):
|
||||||
|
f.write(''.join(f"{' '.join(map(lambda x: str(x), samples[i:i+3]))}\n"))
|
||||||
|
```
|
||||||
Загрузка…
Ссылка в новой задаче