форкнуто от main/python-labs
Родитель
2676610f84
Сommit
6a4096803b
@ -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))
|
||||||
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -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("Чтобы прекратить воспроизведение данной операции введите пустое значение")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -0,0 +1 @@
|
|||||||
|
679.7272727272727, 4376.111111111111, 1810473.8181818181, 10757533.361111112, -456, 10663
|
||||||
Двоичный файл не отображается.
Загрузка…
Ссылка в новой задаче