форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
1.5 KiB
1.5 KiB
Индивидуальное контрольное задание по теме 7
Коломейцев Дмитрий, А-02-23
Задание
Вариант 4.
Разработайте функцию с 5 аргументами, создающую отсчеты сигнала в виде последовательности импульсов с заданными параметрами:
- амплитуда,
- продолжительность импульса,
- период (импульс + пауза),
- число отсчетов,
- имя текстового файла для записи сигнала.
Сигнал должен быть записан в виде столбца в текстовый файл с заданным именем (5-й аргумент функции), а также возвращен в вызывающую программу в виде списка.
Решение
# функция, создающая прямоугольные импульсы
def make_impulse_signal(ampl, impulse_duration, period, n, filename):
signal = []
for k in range(n):
pos = k % period # чтобы позиция от 0 до 6 всегда прыгала (период 7)
if pos < impulse_duration:
signal.append(ampl)
else:
signal.append(0)
with open(filename, 'w') as f:
for x in signal:
f.write(str(x) + '\n')
return signal
s = make_impulse_signal(10, 3, 5, 53, 'signal.txt')
print(s)