форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
2.1 KiB
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