Этот коммит содержится в:
MelnikovDM
2025-11-10 11:57:40 +03:00
родитель 824ecb9e5d
Коммит e0dcc35f20
4 изменённых файлов: 111 добавлений и 1 удалений

Просмотреть файл

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

41
TEMA6/task.py Обычный файл
Просмотреть файл

@@ -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)

68
TEMA6/test.md Обычный файл
Просмотреть файл

@@ -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
```

1
TEMA6/zadanie.txt Обычный файл
Просмотреть файл

@@ -0,0 +1 @@
Отдел: Бухгалтерия, сотрудник: Сидоров С.С., должность: Бухгалтер