diff --git a/TEMA9/test/M0.py b/TEMA9/test/M0.py new file mode 100644 index 0000000..8c33a8f --- /dev/null +++ b/TEMA9/test/M0.py @@ -0,0 +1,4 @@ +from M2 import * +SPS=func_1(A,B) +with open("Res000.txt","w") as f: + f.write(", ".join(str(val) for val in SPS)) diff --git a/TEMA9/test/M1.py b/TEMA9/test/M1.py new file mode 100644 index 0000000..1ce1d3b --- /dev/null +++ b/TEMA9/test/M1.py @@ -0,0 +1,25 @@ +import statistics + +def func_1(A,B): + # средние значения по спискам + MA = statistics.mean(A) + MB = statistics.mean(B) + # дисперсии значений по спискам + DA=statistics.variance(A) + DB=statistics.variance(B) + #минимум и максимум среди всех данных в обоих списках + combined_spis = A + B + min_all = min (combined_spis) + max_all = max (combined_spis) + return [MA, MB, DA, DB, min_all, max_all] + +def func_2(x,A,B): + abs_spis_A = list (map (lambda value: abs(value-x),A)) #список модулей разности |value-x| для каждого элемента списка A + abs_spis_B = list (map (lambda value: abs(value-x),B)) #список модулей разности |value-x| для каждого элемента списка B + if min(abs_spis_A) >= min(abs_spis_B): + return "B" # возращаем B, если минимальным оказался элемент в списке B + else: + return "A" # возращаем A, если минимальным оказался элемент в списке A + + + diff --git a/TEMA9/test/M2.py b/TEMA9/test/M2.py new file mode 100644 index 0000000..ee6897a --- /dev/null +++ b/TEMA9/test/M2.py @@ -0,0 +1,21 @@ +import pickle, os +from M1 import func_1, func_2 + +while True: #запрашивается и вводится имя бинарного файла, проверяется его наличие + file_name=input("Введите имя бинарного файла (например test.bin)") + if os.path.exists(file_name): break + print("Файл не найден, введите имя бинарного файла заново") +with open(file_name,"rb") as f: #если он существует, то из него считываются два списка: А и В + A = pickle.load(f) + B = pickle.load(f) + +print("Параметры данных:") +print(func_1(A,B)) #рассчитываются и отображаются параметры данных +while True: + x = input("Введите число x:") #у пользователя запрашивается значение х + if x=='': break #до тех пор, пока пользователь в ответ на запрос не введет пустое значение + print("Ближайшее значение к х находится в списке:", func_2(int(x),A,B)) + print("Чтобы прекратить воспроизведение данной операции введите пустое значение") + + + diff --git a/TEMA9/test/Res000.txt b/TEMA9/test/Res000.txt new file mode 100644 index 0000000..57dead3 --- /dev/null +++ b/TEMA9/test/Res000.txt @@ -0,0 +1 @@ +679.7272727272727, 4376.111111111111, 1810473.8181818181, 10757533.361111112, -456, 10663 \ No newline at end of file diff --git a/TEMA9/test/test.bin b/TEMA9/test/test.bin new file mode 100644 index 0000000..1ff2714 Binary files /dev/null and b/TEMA9/test/test.bin differ