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

3.3 KiB

Индивидуальное контрольное задание по модулю 2

Зеленкина Ксения А-02-23

Задание

  1. Создайте словарь с 10 элементами: ключи - фамилии студентов, значения - целые, случайные числа в диапазоне от 1 до 100.
  2. Запишите словарь в бинарный файл.
  3. Удалите словарь из памяти.
  4. Прочитайте словарь из файла и удалите из него два элемента: первого и последнего студента.
  5. Выведите на экран элементы полученного словаря в виде строк по шаблону: "Студент <ключ из словаря> : <значение из словаря>"

Решение

1.

Создайте словарь с 10 элементами: ключи - фамилии студентов, значения - целые, случайные числа в диапазоне от 1 до 100.

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 (как в лр): Код:

fl=open('test.mnz','wb')
pickle.dump(sl, fl)

Способ 2 (как в методичке): Код:

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 =': ')

Вывод:

Студент Володин: 4
Студент Добровольска: 10
Студент Ефремов: 46
Студент Зеленкина: 80
Студент Зеленкина2: 75
Студент Капитонов: 36
Студент Киреев: 90
Студент Коломейцев: 5