diff --git a/TEMA7/Slovar.bin b/TEMA7/Slovar.bin new file mode 100644 index 0000000..516260d Binary files /dev/null and b/TEMA7/Slovar.bin differ diff --git a/TEMA7/test.md b/TEMA7/test.md new file mode 100644 index 0000000..af0b19c --- /dev/null +++ b/TEMA7/test.md @@ -0,0 +1,46 @@ +# Индивидуальное контрольное задание. + +***Вариант 17*** + +>Разработайте функцию с двумя аргументами – списками. На их основе в функции должен создаваться словарь с ключами из первого списка и со значениями – натуральными логарифмами абсолютных значений соответствующих элементов из второго списка. Полученный словарь должен записываться в бинарный файл с именем Slovar.bin. Проверьте функцию на двух примерах с разными списками. + +```python +import math +import pickle +import os + +def create_slovar(list1, list2, filename): + slovar = dict(zip(list1, [math.log(abs(x)) for x in list2])) + fp=open(os.getcwd()+ '/TEMA7/' + filename, 'wb') + pickle.dump(slovar, fp) + fp.close() + + +# Примеры использования функции +# Пример 1 +list1 = ['a', 'b', 'c'] +list2 = [1, 2, 3] +create_slovar(list1, list2, 'Slovar.bin') + +fp=open(os.getcwd()+ '/TEMA7/' + 'Slovar.bin', 'rb') +slovar = pickle.load(fp) +fp.close() +print('\nПример 1:', slovar) + +# Пример 2 +list3 = ['x', 'y', 'z'] +list4 = [4, 25, -6] +create_slovar(list3, list4, 'Slovar.bin') + +fp=open(os.getcwd()+ '/TEMA7/' + 'Slovar.bin', 'rb') +slovar = pickle.load(fp) +fp.close() +print('\nПример 2:', slovar) +``` + +Ответ программы: +```shell +Пример 1: {'a': 0.0, 'b': 0.6931471805599453, 'c': 1.0986122886681098} + +Пример 2: {'x': 1.3862943611198906, 'y': 3.2188758248682006, 'z': 1.791759469228055} +``` \ No newline at end of file diff --git a/TEMA7/test.py b/TEMA7/test.py new file mode 100644 index 0000000..e919278 --- /dev/null +++ b/TEMA7/test.py @@ -0,0 +1,31 @@ +import math +import pickle +import os + +def create_slovar(list1, list2, filename): + slovar = dict(zip(list1, [math.log(abs(x)) for x in list2])) + fp=open(os.getcwd()+ '/TEMA7/' + filename, 'wb') + pickle.dump(slovar, fp) + fp.close() + + +# Примеры использования функции +# Пример 1 +list1 = ['a', 'b', 'c'] +list2 = [1, 2, 3] +create_slovar(list1, list2, 'Slovar.bin') + +fp=open(os.getcwd()+ '/TEMA7/' + 'Slovar.bin', 'rb') +slovar = pickle.load(fp) +fp.close() +print('\nПример 1:', slovar) + +# Пример 2 +list3 = ['x', 'y', 'z'] +list4 = [4, 25, -6] +create_slovar(list3, list4, 'Slovar.bin') + +fp=open(os.getcwd()+ '/TEMA7/' + 'Slovar.bin', 'rb') +slovar = pickle.load(fp) +fp.close() +print('\nПример 2:', slovar) \ No newline at end of file