diff --git a/TEMA8/Modul1.py b/TEMA8/Modul1.py new file mode 100644 index 0000000..ab95ca1 --- /dev/null +++ b/TEMA8/Modul1.py @@ -0,0 +1,7 @@ +def read (file): + """"Чтение данных из файла""" + nums = [] + with open(file, 'r') as file: # Открытие файла для чтения + for line in file: + nums.extend(map(float, line.split())) # Добавление всех элементов в список + return nums diff --git a/TEMA8/Modul2.py b/TEMA8/Modul2.py new file mode 100644 index 0000000..c69f5b5 --- /dev/null +++ b/TEMA8/Modul2.py @@ -0,0 +1,16 @@ +def correlation(list1, list2): + """Расчёт коэффициента корреляции""" + n = min(len(list1), len(list2)) # Общая длина + list1 = list1[:n] + list2 = list2[:n] + mean1 = sum(list1) / n + mean2 = sum(list2) / n + chislitel = sum((list1[i] - mean1) * (list2[i] - mean2) for i in range(n)) + #Числитель формулы корреляции + znamenatel1 = sum((x - mean1) ** 2 for x in list1) + znamenatel2 = sum((y - mean2) ** 2 for y in list2) + + if znamenatel1 == 0 or znamenatel2 == 0: + return 0 + + return chislitel/(znamenatel1 * znamenatel2) ** 0.5 diff --git a/TEMA8/Modul3.py b/TEMA8/Modul3.py new file mode 100644 index 0000000..c3fb1fc --- /dev/null +++ b/TEMA8/Modul3.py @@ -0,0 +1,8 @@ +import Modul1 +import Modul2 +file1 = input("Введите имя первого файла: ") +file2 = input("Введите имя второго файла: ") +list1 = Modul1.read(file1) +list2 = Modul1.read(file2) +corr = Modul2.correlation(list1, list2) +print("Коэффициент корреляции:", corr)