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

90 строки
3.3 KiB
Markdown

# Индивидуальное контрольное задание по модулю 2
Зеленкина Ксения А-02-23
## Задание
1) Создайте словарь с 10 элементами: ключи - фамилии студентов, значения - целые, случайные числа в диапазоне от 1 до 100.
2) Запишите словарь в бинарный файл.
3) Удалите словарь из памяти.
4) Прочитайте словарь из файла и удалите из него два элемента: первого и последнего студента.
5) Выведите на экран элементы полученного словаря в виде строк по шаблону: "Студент <ключ из словаря> : <значение из словаря>"
## Решение
#### 1. Создайте словарь с 10 элементами: ключи - фамилии студентов, значения - целые, случайные числа в диапазоне от 1 до 100.
```py
import pickle
import random
sl = {"Беженарь": random.randint(1, 100),
"Володин": random.randint(1, 100),
"Добровольска": random.randint(1, 100),
"Ефремов": random.randint(1, 100),
"Зеленкина": random.randint(1, 100),
"Зеленкина2": random.randint(1, 100),
"Капитонов": random.randint(1, 100),
"Киреев": random.randint(1, 100),
"Коломейцев": random.randint(1, 100),
"Криви": random.randint(1, 100)}
```
#### 2. Запишите словарь в бинарный файл.
__Способ 1 (как в лр):__
_Код:_
```py
fl=open('test.mnz','wb')
pickle.dump(sl, fl)
```
__Способ 2 (как в методичке):__
_Код:_
```py
with open('test.mnz', 'wb') as file:
pickle.dump(sl, fl)
```
<img src = "./phototest.png" width="500" height="300" align="center">
#### 3. Удалите словарь из памяти.
_Код:_
```py
del sl
```
#### 4. Прочитайте словарь из файла и удалите из него два элемента: первого и последнего студента.
_Код:_
```py
with open('test.mnz', 'rb') as fl:
rsl = pickle.load(fl)
```
Выведим первый и последний элемент и удалим их
_Код:_
```py
print(list(rsl.keys())[0])
print(list(rsl.keys())[-1])
del rsl[list(rsl.keys())[0]]
del rsl[list(rsl.keys())[-1]]
```
_Вывод:_
```py
Беженарь
Криви
```
#### 5. Выведите на экран элементы полученного словаря в виде строк по шаблону: "Студент <ключ из словаря> : <значение из словаря>"
_Код:_
```py
for i in rsl:
print(f"Студент {i}", rsl[i], sep =': ')
```
_Вывод:_
```py
Студент Володин: 4
Студент Добровольска: 10
Студент Ефремов: 46
Студент Зеленкина: 80
Студент Зеленкина2: 75
Студент Капитонов: 36
Студент Киреев: 90
Студент Коломейцев: 5
```