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