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

80 строки
2.9 KiB
Markdown

# Индивидуальное контрольное задание по теме 8
Лыкова Елизавета, А-01-23
## Задание
По указанному преподавателем варианту контрольного задания обратитесь к индивидуальному заданию с таким номером в теме 7, разработайте функцию, на ее основе создайте модуль. Создайте второй модуль, в котором должны быть инструкции для ввода/создания исходных данных для проверки работы функции, вызов функции и отображение полученных результатов.
Разработайте функцию с двумя аргументами – списками. На их основе в функции должен со-здаваться словарь с ключами из первого списка и со значениями – натуральными логарифмами абсолютных значений соответствующих элементов из второго списка. Полученный словарь должен записываться в бинарный файл с именем Slovar.bin. Проверьте функцию на двух примерах с разными списками.
## Решение
```py
import os
import math
import pickle
def dictionary(keys,values):
''' Создает словарь с ключами из первого списка и значениями из второго'''
result = {}
for i in range(len(keys)):
result[keys[i]] = math.log(abs(values[i]))
fl = open('Slovar.bin','wb')
pickle.dump(result,fl)
fl.close()
return result
```
Модуль slovar
```py
import slovar
# Пример 1
keys1 = ['A','B','C']
values1 = [16,7,890]
print(f'Пример 1')
print(f'Ключи: {keys1}')
print(f'Значения: {values1}')
result1 = slovar.dictionary(keys1,values1)
print(f'Созданный словарь: {result1}')
# Пример 2
keys2 = ['d','b','x','s']
values2 = [10.7,-4,5,63]
print(f'Пример 2')
print(f'Ключи: {keys2}')
print(f'Значения: {values2}')
result2 = slovar.dictionary(keys2,values2)
print(f'Созданный словарь: {result2}')
```
Модуль main
```py
import main
Пример 1
Ключи: ['A', 'B', 'C']
Значения: [16, 7, 890]
Созданный словарь: {'A': 2.772588722239781, 'B': 1.9459101490553132, 'C': 6.7912214627261855}
Пример 2
Ключи: ['d', 'b', 'x', 's']
Значения: [10.7, -4, 5, 63]
Созданный словарь: {'d': 2.3702437414678603, 'b': 1.3862943611198906, 'x': 1.6094379124341003, 's': 4.143134726391533}
```
Выполнение