форкнуто от main/python-labs
Родитель
cb7673ea1c
Сommit
9ace524e64
Двоичный файл не отображается.
@ -0,0 +1,83 @@
|
||||
# Индивидуальное контрольное задание по Теме 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
|
||||
```
|
||||
Загрузка…
Ссылка в новой задаче