Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

83 строки
2.5 KiB
Markdown

# Индивидуальное контрольное задание по Теме 6
# Задание
1) Создайте словарь с 10 элементами: ключи - фамилии студентов, значения - целые, случайные числа в диапазоне от 1 до 100.
2) Запишите словарь в бинарный файл.
3) Удалите словарь из памяти.
4) Прочитайте словарь из файла и удалите из него два элемента: первого и последнего студента.
5) Выведите на экран элементы полученного словаря в виде строк по шаблону: "Студент <ключ из словаря> : <значение из словаря>"
# Решение
```
import random
import pickle
```
## 1
```
students = {"Лазарев": random.randint(1, 100),"Анисенков": random.randint(1, 100),"Филлипова": random.randint(1, 100),"Филлипов": random.randint(1, 100),"Жалнин": random.randint(1, 100),"Махнов": random.randint(1, 100),"Лыкова": random.randint(1, 100),"Терехов": random.randint(1, 100),"Голощапов": random.randint(1, 100),"Мельников": random.randint(1, 100)}
pri`nt("Исходный словарь")
for stud, zeloe in students.items():
print(f"Студент {stud} - {zeloe}")
```
## 2
```
with open('stud.txt', 'wb') as f:
pickle.dump(students, f)
```
## 3
```
del students
```
## 4
```
with open('stud.txt', 'rb') as f:
students = pickle.load(f)
if students:
keys = list(students.keys())
students.pop(keys[0])
students.pop(keys[-1])
```
## 5
```
print("Новый словарь")
for stud, zeloe in students.items():
print(f"Студент {stud} : {zeloe}")
```
Итог:
```
Исходный словарь
Студент Лазарев - 70
Студент Анисенков - 22
Студент Филлипова - 38
Студент Филлипов - 28
Студент Жалнин - 21
Студент Махнов - 56
Студент Лыкова - 29
Студент Терехов - 10
Студент Голощапов - 39
Студент Мельников - 91
Новый словарь
Студент Анисенков : 22
Студент Филлипова : 38
Студент Филлипов : 28
Студент Жалнин : 21
Студент Махнов : 56
Студент Лыкова : 29
Студент Терехов : 10
Студент Голощапов : 39
```