форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
93 строки
3.3 KiB
Markdown
93 строки
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
|
|
``` |