diff --git a/TEMA8/Slovar.bin b/TEMA8/Slovar.bin new file mode 100644 index 0000000..135e794 Binary files /dev/null and b/TEMA8/Slovar.bin differ diff --git a/TEMA8/main.py b/TEMA8/main.py new file mode 100644 index 0000000..d1e3808 --- /dev/null +++ b/TEMA8/main.py @@ -0,0 +1,27 @@ +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}') diff --git a/TEMA8/slovar.py b/TEMA8/slovar.py new file mode 100644 index 0000000..adb35d4 --- /dev/null +++ b/TEMA8/slovar.py @@ -0,0 +1,17 @@ +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 diff --git a/TEMA8/test.md b/TEMA8/test.md new file mode 100644 index 0000000..0c19671 --- /dev/null +++ b/TEMA8/test.md @@ -0,0 +1,79 @@ +# Индивидуальное контрольное задание по теме 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} +``` + +Выполнение