diff --git a/TEMA8/module_pulse.py b/TEMA8/module_pulse.py index c792bce..78c5777 100644 --- a/TEMA8/module_pulse.py +++ b/TEMA8/module_pulse.py @@ -1,30 +1,26 @@ # module_pulse.py 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: - raise ValueError("pulse_len должен быть целым > 0") - if not isinstance(period, int) or period <= 0: - 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 должен быть непустой строкой") + if pulse_len <= 0 or period <= 0 or n_samples <= 0 or period < pulse_len: + print("Ошибка: проверь параметры (pulse_len>0, period>=pulse_len, n_samples>0)") + return [] # вернём пустой список signal = [] for i in range(n_samples): - pos_in_period = i % period - if pos_in_period < pulse_len: + if (i % period) < pulse_len: signal.append(ampl) else: signal.append(0) - # запись столбцом - with open(filename, "w", encoding="utf-8") as f: - for i in range(len(signal)): - f.write(str(signal[i]) + "\n") - + f = open(filename, "w", encoding="utf-8") + for x in signal: + f.write(str(x) + "\n") + f.close() return signal + diff --git a/TEMA8/test.md b/TEMA8/test.md index a6f1af9..be38c09 100644 --- a/TEMA8/test.md +++ b/TEMA8/test.md @@ -13,34 +13,30 @@ # module_pulse.py 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: - raise ValueError("pulse_len должен быть целым > 0") - if not isinstance(period, int) or period <= 0: - 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 должен быть непустой строкой") + if pulse_len <= 0 or period <= 0 or n_samples <= 0 or period < pulse_len: + print("Ошибка: проверь параметры (pulse_len>0, period>=pulse_len, n_samples>0)") + return [] # вернём пустой список signal = [] for i in range(n_samples): - pos_in_period = i % period - if pos_in_period < pulse_len: + if (i % period) < pulse_len: signal.append(ampl) else: signal.append(0) - # запись столбцом - with open(filename, "w", encoding="utf-8") as f: - for i in range(len(signal)): - f.write(str(signal[i]) + "\n") - + f = open(filename, "w", encoding="utf-8") + for x in signal: + f.write(str(x) + "\n") + f.close() return signal + ```