# Индивидуальное контрольное задание по модулю 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) ``` #### 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 ```