форкнуто от main/python-labs
Родитель
d6314040d3
Сommit
4f0add7da7
Двоичный файл не отображается.
@ -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}
|
||||||
|
```
|
||||||
@ -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)
|
||||||
Загрузка…
Ссылка в новой задаче