# Индивидуальное контрольное задание по теме 7 Степанов Артём, А-02-23 ## Задание Вариант 23 Разработайте функцию с 3 аргументами: N, D, G, создающую словарь с заданным числом N элементов: ключи - числа 1,2,…,N, значения – случайные числа, равномерно распределенные в диапазоне значений от D до G. После формирования словарь должен быть записан в бинарный файл с именем SLOV.bin. Возвращаемые результаты – созданный словарь и среднее его значений. Проверить функцию на примере. ## Решение ```py >>> def createDict(N, D, G): ... import random, pickle ... dictionary = {} ... for i in range(1, N + 1): ... dictionary[f"{i}"] = random.uniform(D, G) ... fp = open("SLOV.bin", "wb") ... pickle.dump(dictionary, fp) ... fp.close() ... print("Словарь записан в файл SLOV.bin") ... mean = sum(dictionary.values()) / N ... return [dictionary, mean] ... >>> import os, pickle >>> os.chdir("C:\\Users\\u206-02\\Desktop\\StepanovAV\\python-labs\\TEMA7") # Установка текущего рабочего каталога >>> os.getcwd() # Проверка текущего рабочего каталога 'C:\\Users\\u206-02\\Desktop\\StepanovAV\\python-labs\\TEMA7' >>> [dict1, mean1] = createDict(3, 1, 2) Словарь записан в файл SLOV.bin >>> dict1 {'1': 1.5353710400761345, '2': 1.6929869395643098, '3': 1.074708491617669} >>> mean1 1.434355490419371 >>> fp = open("SLOV.bin", "rb") >>> newDict = pickle.load(fp) >>> fp.close() >>> newDict {'1': 1.5353710400761345, '2': 1.6929869395643098, '3': 1.074708491617669} >>> newDict == dict1 # Проверка равенства словарей: возвращаемого функцией и записанного в файл True ```