форкнуто от main/python-labs
Родитель
824ecb9e5d
Сommit
e0dcc35f20
@ -0,0 +1,41 @@
|
||||
import os
|
||||
import pickle
|
||||
|
||||
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")
|
||||
|
||||
|
||||
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")
|
||||
|
||||
|
||||
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'))
|
||||
fp.close()
|
||||
|
||||
del slovar, otdel_num, sotrud_num, dolzhn_num, message, fp
|
||||
print(slovar)
|
||||
@ -0,0 +1,68 @@
|
||||
# Индивидуальное контрольное задание
|
||||
|
||||
## Задание:
|
||||
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
|
||||
```
|
||||
@ -0,0 +1 @@
|
||||
Отдел: Бухгалтерия, сотрудник: Сидоров С.С., должность: Бухгалтер
|
||||
Загрузка…
Ссылка в новой задаче