diff --git a/TEMA8/chetnie.txt b/TEMA8/chetnie.txt new file mode 100644 index 0000000..487ec1e --- /dev/null +++ b/TEMA8/chetnie.txt @@ -0,0 +1,20 @@ +-92 +58 +-42 +14 +-76 +10 +-80 +34 +94 +-30 +6 +-46 +20 +-22 +32 +46 +-18 +16 +100 +-32 diff --git a/TEMA8/modul1.py b/TEMA8/modul1.py new file mode 100644 index 0000000..9fb3fea --- /dev/null +++ b/TEMA8/modul1.py @@ -0,0 +1,18 @@ +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() diff --git a/TEMA8/modul2.py b/TEMA8/modul2.py new file mode 100644 index 0000000..cbd5c5b --- /dev/null +++ b/TEMA8/modul2.py @@ -0,0 +1,20 @@ +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() diff --git a/TEMA8/nechetnie.txt b/TEMA8/nechetnie.txt new file mode 100644 index 0000000..ac2b375 --- /dev/null +++ b/TEMA8/nechetnie.txt @@ -0,0 +1,20 @@ +57 +-41 +17 +73 +-65 +49 +11 +-91 +-41 +31 +65 +29 +-41 +-7 +-83 +-27 +-69 +-67 +-1 +25 diff --git a/TEMA8/t1.txt b/TEMA8/t1.txt new file mode 100644 index 0000000..e69de29 diff --git a/TEMA8/t2.txt b/TEMA8/t2.txt new file mode 100644 index 0000000..e69de29 diff --git a/TEMA8/test.md b/TEMA8/test.md new file mode 100644 index 0000000..3dc320b --- /dev/null +++ b/TEMA8/test.md @@ -0,0 +1,65 @@ +# Индивидуальное задание по теме 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() +``` \ No newline at end of file