форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
65 строки
2.3 KiB
Markdown
65 строки
2.3 KiB
Markdown
# Индивидуальное задание по теме 8
|
|
|
|
|
|
|
|
Грудинин Егор, А-03-23
|
|
|
|
|
|
|
|
## Задание
|
|
|
|
Вариант 13
|
|
|
|
По указанному преподавателем варианту контрольного задания обратитесь к индивидуальному заданию с таким номером в теме 7, разработайте функцию, на ее основе создайте модуль. Создайте второй модуль, в котором должны быть инструкции для ввода/создания исходных данных для проверки работы функции, вызов функции и отображение полученных результатов
|
|
|
|
Разработайте функцию с 3 аргументами, которая на основе заданной целочисленной последовательности (список или кортеж) – аргумент функции - формирует два текстовых файла с заданными именами (аргументы функции), причем в первый файл записывает из исходной последовательности четные значения, а во второй – нечетные. Проверьте функцию на примере кортежа с 40 случайными целыми числами.
|
|
|
|
|
|
|
|
## Решение
|
|
|
|
### Модуль 1
|
|
```py
|
|
def split(data, f1, f2):
|
|
ev = []
|
|
od = []
|
|
for num in data:
|
|
if num % 2 == 0:
|
|
ev.append(num)
|
|
else:
|
|
od.append(num)
|
|
|
|
file = open(f1, 'w')
|
|
for n in ev:
|
|
file.write(str(n) + '\n')
|
|
file.close()
|
|
|
|
file = open(f2, 'w')
|
|
for n in od:
|
|
file.write(str(n) + '\n')
|
|
file.close()
|
|
```
|
|
|
|
### Модуль 2
|
|
```py
|
|
import random
|
|
from modul1 import split
|
|
|
|
data = tuple(random.randint(-100, 100) for i in range(40))
|
|
print('Данные:', data)
|
|
|
|
f1 = 'chetnie.txt'
|
|
f2 = 'nechetnie.txt'
|
|
|
|
split(data, f1, f2)
|
|
|
|
print('\nЧетные числа сохранены в', f1)
|
|
file = open(f1, 'r')
|
|
print(file.read())
|
|
file.close()
|
|
|
|
print('Нечетные числа сохранены в', f2)
|
|
file = open(f2, 'r')
|
|
print(file.read())
|
|
file.close()
|
|
``` |