From b643e0a0b2f2bb80299a56f118f4137b3e50d140 Mon Sep 17 00:00:00 2001 From: Tsvetkova Tatyana Date: Sun, 7 Dec 2025 22:45:00 +0300 Subject: [PATCH] modul --- TEMA8/Modul1.py | 7 +++++++ TEMA8/Modul2.py | 16 ++++++++++++++++ TEMA8/Modul3.py | 8 ++++++++ 3 files changed, 31 insertions(+) create mode 100644 TEMA8/Modul1.py create mode 100644 TEMA8/Modul2.py create mode 100644 TEMA8/Modul3.py 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)