форкнуто от main/python-labs
main
Родитель
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
|
||||||
|
Отдел: Отдел маркетинга, сотрудник: Сидоров С.С., должность: Инженер
|
||||||
|
```
|
||||||
Загрузка…
Ссылка в новой задаче