форкнуто от main/python-labs
main
Родитель
e4a4ea1e53
Сommit
58169e2e59
@ -0,0 +1,64 @@
|
||||
# Индивидуальное контрольное задание по теме 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 MOD1task 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]
|
||||
|
||||
|
||||
```
|
||||
Загрузка…
Ссылка в новой задаче