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

3.5 KiB

Общее контрольное задание по теме 8

Девятова Мария, А-03-23

Задание

Разработайте программу, состоящую из трех модулей:

  1. Модуль 1 содержит функцию считывания числового списка из текстового файла с заданным именем (аргумент функции – имя файла). Элементы в файле могут располагаться по несколько на строке с разделением пробелом. Числа элементов в строках могут быть разными. Полученный список должен возвращаться в вызывающую программу.
  2. Модуль 2 содержит функцию расчета коэффициента корреляции по двум числовым спискам (аргументы функции – имена двух списков). Числа элементов в списках могут различаться. Значение коэффициента должно возвращаться в вызывающую программу.
  3. Модуль 3 запрашивает у пользователя и вводит имена двух файлов с исходными данными, дважды вызывает функцию из модуля 1 и считывает два списка из двух текстовых файлов. Затем вызывает функцию расчета коэффициента корреляции с помощью функции из модуля 2 и отображает рассчитанное значение на экране с округлением до трех цифр после точки. Подготовьте два текстовых файла с числовыми данными и проверьте по ним работу программы.

Выполнение

Текст модуля task1

def reading(file_n):
    numbers = []
    fp=open(file_n)
    for line in fp:
        numbers.extend(map(float, line.split()))
    fp.close()
    return numbers

Текст модуля task2

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

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