PodolskyNK 2 месяцев назад
Родитель 5f9f212f15
Сommit 1ed004742a

@ -1,30 +1,26 @@
# module_pulse.py # module_pulse.py
def generate_pulse_signal(ampl, pulse_len, period, n_samples, filename): def generate_pulse_signal(ampl, pulse_len, period, n_samples, filename):
ampl = float(ampl)
pulse_len = int(pulse_len)
period = int(period)
n_samples = int(n_samples)
if not isinstance(pulse_len, int) or pulse_len <= 0: if pulse_len <= 0 or period <= 0 or n_samples <= 0 or period < pulse_len:
raise ValueError("pulse_len должен быть целым > 0") print("Ошибка: проверь параметры (pulse_len>0, period>=pulse_len, n_samples>0)")
if not isinstance(period, int) or period <= 0: return [] # вернём пустой список
raise ValueError("period должен быть целым > 0")
if period < pulse_len:
raise ValueError("period должен быть >= pulse_len (иначе пауза отрицательная)")
if not isinstance(n_samples, int) or n_samples <= 0:
raise ValueError("n_samples должен быть целым > 0")
if not isinstance(filename, str) or filename.strip() == "":
raise ValueError("filename должен быть непустой строкой")
signal = [] signal = []
for i in range(n_samples): for i in range(n_samples):
pos_in_period = i % period if (i % period) < pulse_len:
if pos_in_period < pulse_len:
signal.append(ampl) signal.append(ampl)
else: else:
signal.append(0) signal.append(0)
# запись столбцом f = open(filename, "w", encoding="utf-8")
with open(filename, "w", encoding="utf-8") as f: for x in signal:
for i in range(len(signal)): f.write(str(x) + "\n")
f.write(str(signal[i]) + "\n") f.close()
return signal return signal

@ -13,34 +13,30 @@
# module_pulse.py # module_pulse.py
def generate_pulse_signal(ampl, pulse_len, period, n_samples, filename): def generate_pulse_signal(ampl, pulse_len, period, n_samples, filename):
ampl = float(ampl)
pulse_len = int(pulse_len)
period = int(period)
n_samples = int(n_samples)
if not isinstance(pulse_len, int) or pulse_len <= 0: if pulse_len <= 0 or period <= 0 or n_samples <= 0 or period < pulse_len:
raise ValueError("pulse_len должен быть целым > 0") print("Ошибка: проверь параметры (pulse_len>0, period>=pulse_len, n_samples>0)")
if not isinstance(period, int) or period <= 0: return [] # вернём пустой список
raise ValueError("period должен быть целым > 0")
if period < pulse_len:
raise ValueError("period должен быть >= pulse_len (иначе пауза отрицательная)")
if not isinstance(n_samples, int) or n_samples <= 0:
raise ValueError("n_samples должен быть целым > 0")
if not isinstance(filename, str) or filename.strip() == "":
raise ValueError("filename должен быть непустой строкой")
signal = [] signal = []
for i in range(n_samples): for i in range(n_samples):
pos_in_period = i % period if (i % period) < pulse_len:
if pos_in_period < pulse_len:
signal.append(ampl) signal.append(ampl)
else: else:
signal.append(0) signal.append(0)
# запись столбцом f = open(filename, "w", encoding="utf-8")
with open(filename, "w", encoding="utf-8") as f: for x in signal:
for i in range(len(signal)): f.write(str(x) + "\n")
f.write(str(signal[i]) + "\n") f.close()
return signal return signal
``` ```

Загрузка…
Отмена
Сохранить