форкнуто от main/python-labs
Родитель
bf48fcea49
Сommit
bf0ec3ba5f
Двоичный файл не отображается.
@ -0,0 +1,44 @@
|
||||
# Индивидуальное контрольное задание по теме 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
|
||||
```
|
||||
Загрузка…
Ссылка в новой задаче