форкнуто от main/python-labs
main
Родитель
bdeb1c27f1
Сommit
6053fbe787
@ -0,0 +1,42 @@
|
|||||||
|
Разработайте функцию с 2 аргументами, которая для заданного словаря (аргумент функции) с любыми ключами и с числовыми значениями создаёт новый словарь с теми же ключами и со значениями, равными синусам от значений из входного словаря с заданным именами. Проверьте функцию на примере двух разных входных словарей.
|
||||||
|
Через модуль:
|
||||||
|
Модуль1
|
||||||
|
```py
|
||||||
|
import math
|
||||||
|
|
||||||
|
def f(a):
|
||||||
|
"""Функция f."""
|
||||||
|
result = {}
|
||||||
|
for k, v in a.items(): # Перебираем все пары ключ-значение
|
||||||
|
result[k] = math.sin(v)
|
||||||
|
return result
|
||||||
|
|
||||||
|
def test():
|
||||||
|
"""Первая тестовая функция."""
|
||||||
|
print("Тест 1", f({'a': 0, 'b': 1.57, 'c': 3.14}))
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
test()
|
||||||
|
print("mode1.py работает корректно")
|
||||||
|
```
|
||||||
|
Модуль2:
|
||||||
|
```py
|
||||||
|
from mode1 import f
|
||||||
|
|
||||||
|
def test2():
|
||||||
|
"""Вторая тестовая функция."""
|
||||||
|
print("Тест 2", f({'x': 0.5, 'y': 1.0, 'z': 2.0}))
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
test2()
|
||||||
|
print("mode2.py работает корректно")
|
||||||
|
```
|
||||||
|
```py
|
||||||
|
>>> os.chdir('C:\\Users\\Admin\\Documents\\Tsvetkova\\python-labs\\TEMA8')
|
||||||
|
>>> import mode1
|
||||||
|
>>> import mode2
|
||||||
|
>>> mode1.test()
|
||||||
|
Тест 1 {'a': 0.0, 'b': 0.9999996829318346, 'c': 0.0015926529164868282}
|
||||||
|
>>> mode2.test2()
|
||||||
|
Тест 2 {'x': 0.479425538604203, 'y': 0.8414709848078965, 'z': 0.9092974268256817}
|
||||||
|
```
|
||||||
Загрузка…
Ссылка в новой задаче