форкнуто от main/python-labs
main
Родитель
4b2adba302
Сommit
72a1506ffb
@ -0,0 +1,93 @@
|
||||
# Индивидуальное контрольное задание по модулю 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
|
||||
```
|
||||
@ -0,0 +1,41 @@
|
||||
# Индивидуальное контрольное задание
|
||||
|
||||
## 1
|
||||
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
|
||||
# Как в лр
|
||||
fl=open('test.mnz','wb')
|
||||
pickle.dump(sl, fl)
|
||||
|
||||
#
|
||||
# with open('test.mnz', 'wb') as file:
|
||||
# pickle.dump(sl, fl)
|
||||
|
||||
# 3
|
||||
del sl
|
||||
|
||||
# 4
|
||||
with open('test.mnz', 'rb') as fl:
|
||||
rsl = pickle.load(fl)
|
||||
# Выведим первое и последнее значение словаря
|
||||
print(list(rsl.keys())[0])
|
||||
print(list(rsl.keys())[-1])
|
||||
# Удалим
|
||||
del rsl[list(rsl.keys())[0]]
|
||||
del rsl[list(rsl.keys())[-1]]
|
||||
|
||||
# 5
|
||||
for i in rsl:
|
||||
print(f"Студент {i}", rsl[i], sep =': ')
|
||||
|
После Ширина: | Высота: | Размер: 3.0 KiB |
Двоичный файл не отображается.
Двоичный файл не отображается.
Двоичный файл не отображается.
Загрузка…
Ссылка в новой задаче