3.8 KiB
Индивидуальное контрольное задание
Задание:
-
Создайте словарь с 3 элементами: ключи - OTDEL, SOTRUD, DOLZHN, значения - списки, соответственно отделов предприятия (3-4 отдела с наименованиями вида "Отдел1":), список сотрудников (3-4 фамилии), список должностей сотрудников.
-
Запросите у пользователя и введите 3 целых числа: номер отдела по списку, порядковый номер сотрудника по списку, порядковый номер должности. Проверьте соответствие введенных чисел числу соответствующих элементов списков. При отсутствии соответствия повторить ввод.
-
Выведите на экран сообщение по шаблону: " Отдел: <название отдела из списка>, сотрудник: <ФИО сотрудника из списка>, должность: <название должности из списка> в соответствии с выбором пользователя и со значениями из словаря.
-
Запишите это же сообщение в текстовый файл с некоторым именем в режиме добавления строки.
-
Удалите из памяти все созданные объекты-переменные.
Решение:
>>>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