Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

1.8 KiB

Индивидуальное контрольное задание по ТЕМЕ №8

Степанищев Виктор, А-03-23

Задание

#2 (из ЛР№7)
Разработайте функцию с 4 аргументами, создающую последовательность отсчетов случайного, нормально распределенного сигнала типа белого шума с заданными параметрами: математическое ожидание и дисперсия, число отсчетов (аргументы функции). Сигнал должен быть записан построчно, по 3 элемента в строке с разделителем - пробел в текстовый файл с заданным именем (4-й аргумент функции), а также возвращен в вызывающую программу в виде списка.

Дополнительно: раскидать ввод параметров в один .py файл, выполнение функции в другой .py файл

Решение

Файл input_data.py

filename = input('Enter filename: ')
mean = float(input('Enter mean: '))
dispersia = float(input('Enter dispersia: '))
count = int(input('Enter count: '))

Файл file_with_func.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

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"))