diff --git a/TEMA6/test.md b/TEMA6/test.md new file mode 100644 index 0000000..2ec5b6a --- /dev/null +++ b/TEMA6/test.md @@ -0,0 +1,62 @@ +# Тест по модулю 2 + +Сарайкина Вера, А-02-23 + +## Задание + +M2_10 +1) Создайте словарь с 3 элементами: ключи - OTDEL, SOTRUD, DOLZHN, значения - списки, соответственно отделов предприятия (3-4 отдела с наименованиями вида "Отдел1":), список сотрудников (3-4 фамилии), список должностей сотрудников. + +2) Запросите у пользователя и введите 3 целых числа: номер отдела по списку, порядковый номер сотрудника по списку, порядковый номер должности. Проверьте соответствие введенных чисел числу соответствующих элементов списков. При отсутствии соответствия повторить ввод. + +3) Выведите на экран сообщение по шаблону: " Отдел: <название отдела из списка>, сотрудник: <ФИО сотрудника из списка>, должность: <название должности из списка> в соответствии с выбором пользователя и со значениями из словаря. + +4) Запишите это же сообщение в текстовый файл с некоторым именем в режиме добавления строки. + +5) Удалите из памяти все созданные объекты-переменные. + + +## Выполнение +```py +# 1) Создание словаря +data = { + 'OTDEL': ['Отдел разработки', 'Отдел маркетинга', 'Отдел продаж'], + 'SOTRUD': ['Иванов И.И.', 'Петров П.П.', 'Сидоров С.С.'], + 'DOLZHN': ['Инженер', 'Менеджер', 'Аналитик'] +} + +# 2) Ввод данных с проверкой +while True: + try: + # Ввод с проверкой преобразования в целое число + n_otdel = int(input("Введите номер отдела (1-3): ")) + n_sotrud = int(input("Введите номер сотрудника (1-3): ")) + n_dolzhn = int(input("Введите номер должности (1-3): ")) + + # Проверка диапазона (только базовые операции) + if n_otdel >= 1 and n_otdel <= 3 and n_sotrud >= 1 and n_sotrud <= 3 and n_dolzhn >= 1 and n_dolzhn <= 3: + break + else: + print("Ошибка: числа должны быть в диапазоне 1-3") + except: + print("Ошибка: введите целые числа") + +# 3) Формирование и вывод сообщения +message = "Отдел: " + data['OTDEL'][n_otdel-1] + ", сотрудник: " + data['SOTRUD'][n_sotrud-1] + ", должность: " + data['DOLZHN'][n_dolzhn-1] +print(message) + +# 4) Запись в файл +fp = open('report.txt', 'a') +fp.write(message + '\n') +fp.close() + +# 5) Очистка памяти +del data, n_otdel, n_sotrud, n_dolzhn, message, fp +``` +## Вывод +```py +Введите номер отдела (1-3): 2 +Введите номер сотрудника (1-3): 3 +Введите номер должности (1-3): 1 +Отдел: Отдел маркетинга, сотрудник: Сидоров С.С., должность: Инженер +``` \ No newline at end of file