MelnikovDM 1 месяц назад
Родитель 824ecb9e5d
Сommit e0dcc35f20

@ -62,7 +62,7 @@
14
```
Как видим, в этом методе, в обоих случаях, выводится количество введенных символов.
В этом контексте 14 — это не результат вычисления, а возвращаемое значение функции write, показывающее, сколько символов она успешно вывела.
В этом контексте 14 — это не результат вычисления, а возвращаемое значение функции write в интерактивной консоли, показывающее, сколько символов она успешно вывела.
## 3. Ввод данных с клавиатуры.
```

@ -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 @@
Отдел: Бухгалтерия, сотрудник: Сидоров С.С., должность: Бухгалтер
Загрузка…
Отмена
Сохранить