Как распихать значения в файле в разные файлы? Здравствуйте! Имеется файл file1.txt, в котором записаны частоты (на каждой строчке по частоте). Их можно добавлять или удалять. И можно посчитать количество частот в файле. Также имеется файл file2.txt. Там значения от этих частот вперемешку. То есть если, например, в файле file1.txt 3 частоты, то в файле file2.txt числа идут следующим образом: число от 1 частоты число от 2 частоты число от 3 частоты число от 1 частоты число от 2 частоты ... Предположим, что в файле file1.txt не три частоты, а n. Как написать алгоритм, который распихивает числа от конкретной частоты в конкретные файлы?
Для решения задачи можно написать следующий алгоритм на языке программирования Python:
def distribute_values(file1, file2, n): frequencies = [] with open(file1, 'r') as f: frequencies = [int(line.strip()) for line in f.readlines()] with open(file2, 'r') as f: values = [int(line.strip()) for line in f.readlines()] files = {} for i in range(n): files[i+1] = open(f'file{i+1}.txt', 'w') for idx, value in enumerate(values): current_frequency = frequencies[idx % len(frequencies)] files[current_frequency].write(str(value) + '\n') for i in range(n): files[i+1].close() # Пример использования distribute_values('file1.txt', 'file2.txt', 3)
Этот код считывает частоты из файла file1.txt и числа из файла file2.txt. Затем он распределяет числа от соответствующих частот и записывает их в соответствующие файлы file1.txt, file2.txt, и так далее. В примере использования указано, что 3 частоты, но вы можете изменить значение аргумента n на нужное количество частот.
Для решения задачи можно написать следующий алгоритм на языке программирования Python:
def distribute_values(file1, file2, n):frequencies = []
with open(file1, 'r') as f:
frequencies = [int(line.strip()) for line in f.readlines()]
with open(file2, 'r') as f:
values = [int(line.strip()) for line in f.readlines()]
files = {}
for i in range(n):
files[i+1] = open(f'file{i+1}.txt', 'w')
for idx, value in enumerate(values):
current_frequency = frequencies[idx % len(frequencies)]
files[current_frequency].write(str(value) + '\n')
for i in range(n):
files[i+1].close()
# Пример использования
distribute_values('file1.txt', 'file2.txt', 3)
Этот код считывает частоты из файла file1.txt и числа из файла file2.txt. Затем он распределяет числа от соответствующих частот и записывает их в соответствующие файлы file1.txt, file2.txt, и так далее. В примере использования указано, что 3 частоты, но вы можете изменить значение аргумента n на нужное количество частот.