SaraikinaVK 1 месяц назад
Родитель ee77396a6f
Сommit 979bd84b09

@ -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
Отдел: Отдел маркетинга, сотрудник: Сидоров С.С., должность: Инженер
```
Загрузка…
Отмена
Сохранить