# Индивидуальное контрольное задание по теме 8 Ефремов Станислав, А-02-23 ## Задание Разработайте функцию c 3 аргументами, реализующую запись заданной последовательности – списка или кортежа (аргумент функции) в текстовый файл с заданным именем (аргумент функции) с заданным числом (аргумент функции) элементов на строке файла, разделенных запятыми. Проверьте её на записи в файл кортежа с 50 случайными, нормально распределенными числами с математическим ожиданием 23 и дисперсией 144 по 3 элемента в строке. ## Решение ### Модуль 1 ```py def write_sequence(sequence, filename, per_line): with open(filename, 'w', encoding='utf-8') as f: for i in range(0, len(sequence), per_line): line = ','.join(str(sequence[j]) for j in range(i, min(i + per_line, len(sequence)))) f.write(line + '\n') print(f"Данные записаны в файл '{filename}'") ``` ### Модуль 2 ```py import random import MOD1test as wsm def generate_test_data(): random.seed(42) data = [random.gauss(23, 12) for _ in range(50)] return data def main(): data = generate_test_data() filename = "sequence_output.txt" elements_per_line = 3 wsm.write_sequence(data, filename, elements_per_line) print(f"Сгенерировано {len(data)} чисел.") print(f"50 чисел: {data[:50]}") if __name__ == "__main__": main() ``` ## Результат ```py Данные записаны в файл 'sequence_output.txt' Сгенерировано 50 чисел. 50 чисел: [21.27091604506486, 20.925156796021767, 21.66420966118805, 31.423804701186356, 21.468940594605357, 5.03175902790851, 26.987820128812583, 19.79195025803398, 20.39649579025766, 24.39061744041026, 25.78757284288065, 36.96270423918972, 30.879638081584027, 24.326086129325983, 14.140140771862153, 10.824051590147395, 25.956106342534422, 38.732969926448575, 23.499882366840605, 21.72412047475059, 29.38131464481043, 5.557456423895864, 19.252672194265283, 28.884350391122297, 33.480852624553364, 20.112443928138376, 27.51919830425492, 25.978561391940975, 32.387921704443706, 9.641333429021927, 29.819008251024627, 4.825755299298322, -8.439345066626224, 15.717311261605968, 12.010279443848063, 33.512146916676876, 30.97119079535474, 8.371103104451656, 33.168337080176, 10.973566109091802, 21.96507384396459, 19.473202664521615, 24.373038289531056, 32.823635738525205, 30.660965489509323, 27.198621222430504, 30.799377173675584, 28.74190445180142, 15.476174417364803, 14.39154687420107] ```