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

2.1 KiB

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

Степанов Артём, А-02-23

Задание

Вариант 23

Разработайте функцию с 3 аргументами: N, D, G, создающую словарь с заданным числом N элементов: ключи - числа 1,2,…,N, значения – случайные числа, равномерно распределенные в диапазоне значений от D до G. После формирования словарь должен быть записан в бинарный файл с именем SLOV.bin. Возвращаемые результаты – созданный словарь и среднее его значений. Проверить функцию на примере.

Решение

>>> 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