форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
42 строки
1.6 KiB
Markdown
42 строки
1.6 KiB
Markdown
Разработайте функцию с 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}
|
|
``` |