Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

78 строки
3.5 KiB
Markdown

# Общее контрольное задание по теме 8
Девятова Мария, А-03-23
## Задание
Разработайте программу, состоящую из трех модулей:
1) Модуль 1 содержит функцию считывания числового списка из текстового файла с заданным именем (аргумент функции – имя файла).
Элементы в файле могут располагаться по несколько на строке с разделением пробелом. Числа элементов в строках могут быть разными.
Полученный список должен возвращаться в вызывающую программу.
2) Модуль 2 содержит функцию расчета коэффициента корреляции по двум числовым спискам (аргументы функции – имена двух списков).
Числа элементов в списках могут различаться. Значение коэффициента должно возвращаться в вызывающую программу.
3) Модуль 3 запрашивает у пользователя и вводит имена двух файлов с исходными данными, дважды вызывает функцию из модуля 1 и считывает два списка из двух текстовых файлов.
Затем вызывает функцию расчета коэффициента корреляции с помощью функции из модуля 2 и отображает рассчитанное значение на экране с округлением до трех цифр после точки.
Подготовьте два текстовых файла с числовыми данными и проверьте по ним работу программы.
## Выполнение
Текст модуля [task1](task1.py)
```
def reading(file_n):
numbers = []
fp=open(file_n)
for line in fp:
numbers.extend(map(float, line.split()))
fp.close()
return numbers
```
Текст модуля [task2](task2.py)
```
import statistics
def corr(list1, list2):
n=min(len(list1), len(list2))
list1=list1[:n]
list2=list2[:n]
coeff=statistics.correlation(list1, list2)
return coeff
```
Текст модуля [task3](task3.py)
```
import task1, task2
file1=input('Введите название первого текстового файла ')
file2=input('Введите название второго текстового файла ')
x1=task1.reading(file1)
x2=task1.reading(file2)
print('Полученный список 1: ', x1, '\nПолученный список 2: ', x2)
print('Коэффициент корреляции: ', round(task2.corr(x1, x2), 3))
```
Содержимое текстового файла spis1.txt:
```
1 7 -2 -5 4 10 -2
```
Содержимое текстового файла spis2.txt:
```
0 0 1 2
```
Выполнение:
```
import task3
Введите название первого текстового файла spis1.txt
Введите название второго текстового файла spis2.txt
Полученный список 1: [1.0, 7.0, -2.0, -5.0, 4.0, 10.0, -2.0]
Полученный список 2: [0.0, 0.0, 1.0, 2.0]
Коэффициент корреляции: -0.866
```