Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

68 строки
3.8 KiB
Markdown

# Индивидуальное контрольное задание
## Задание:
1) Создайте словарь с 3 элементами: ключи - OTDEL, SOTRUD, DOLZHN, значения - списки, соответственно отделов предприятия (3-4 отдела с наименованиями вида "Отдел1":), список сотрудников (3-4 фамилии), список должностей сотрудников.
2) Запросите у пользователя и введите 3 целых числа: номер отдела по списку, порядковый номер сотрудника по списку, порядковый номер должности. Проверьте соответствие введенных чисел числу соответствующих элементов списков. При отсутствии соответствия повторить ввод.
3) Выведите на экран сообщение по шаблону: " Отдел: <название отдела из списка>, сотрудник: <ФИО сотрудника из списка>, должность: <название должности из списка> в соответствии с выбором пользователя и со значениями из словаря.
4) Запишите это же сообщение в текстовый файл с некоторым именем в режиме добавления строки.
5) Удалите из памяти все созданные объекты-переменные.
## Решение:
```
>>>import os
# Создание словаря
>>>slovar = {
'OTDEL': ['Производственный отдел', 'Отдел продаж', 'Бухгалтерия', 'IT-отдел'],
'SOTRUD': ['Иванов И.И.', 'Петров П.П.', 'Сидоров С.С.', 'Кузнецова М.В.'],
'DOLZHN': ['Инженер', 'Менеджер', 'Бухгалтер', 'Программист']
}
# Ввод данных с проверкой
>>>while True:
otdel_num = int(input("Введите номер отдела (1-4): "))
sotrud_num = int(input("Введите номер сотрудника (1-4): "))
dolzhn_num = int(input("Введите номер должности (1-4): "))
if (1 <= otdel_num <= len(slovar['OTDEL']) and 1 <= sotrud_num <= len(slovar['SOTRUD']) and 1 <= dolzhn_num <= len(slovar['DOLZHN'])):
break
else:
print("Error, try again")
Введите номер отдела (1-4): 5
Введите номер сотрудника (1-4): 5
Введите номер должности (1-4): 5
Error, try again
Введите номер отдела (1-4): 3
Введите номер сотрудника (1-4): 3
Введите номер должности (1-4): 3
# Вывод сообшения
>>>message = "Отдел: {0}, сотрудник: {1}, должность: {2}".format(
slovar['OTDEL'][otdel_num-1],
slovar['SOTRUD'][sotrud_num-1],
slovar['DOLZHN'][dolzhn_num-1]
)
>>>print(message)
Отдел: Бухгалтерия, сотрудник: Сидоров С.С., должность: Бухгалтер
# Запись сообщения в файл
>>>fp = open('zadanie.txt', 'w')
>>>fp.write(str(message+'\n'))
66
>>>fp.close()
>>>fp = open('zadanie.txt', 'r') # Доп. проверка
>>>fp.read()
'Отдел: Бухгалтерия, сотрудник: Сидоров С.С., должность: Бухгалтер\n'
>>>fp.close()
# Удаление из памяти
>>>del slovar, otdel_num, sotrud_num, dolzhn_num, message, fp
>>>print(slovar)
Traceback (most recent call last):
File "<pyshell#73>", line 1, in <module>
print(slovar)
NameError: name 'slovar' is not defined
```