ответвлено от main/python-labs
ТЕМА8/report.md and task.md
Этот коммит содержится в:
78
TEMA8/task.md
Обычный файл
78
TEMA8/task.md
Обычный файл
@@ -0,0 +1,78 @@
|
||||
# Общее контрольное задание по теме 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
|
||||
```
|
||||
Ссылка в новой задаче
Block a user