Используйте обратный cos в лямбда-функции без дополнительного модуля - PullRequest
0 голосов
/ 10 февраля 2020

Фон

Я выполняю задание на codewar, которое просит меня использовать 1 line лямбда-функцию до финиша sh. В частности, я хочу использовать math.acos в моей лямбда-функции .

# Code contains 2 lines, so it will fail
import math # line 1
fun1 = lambda x: math.acos(x) # line 2

fun1(1)

Out:

0.0

Приведенный выше код не работает, потому что он содержит 2 строки. Я хочу использовать похожую функцию внутри lambda function:

fun1 = lambda x: XXXX # line 1
fun1(1)

Out:

0.0

Мой вопрос

Можно ли использовать math.acos в лямбда-функции? Если это не так, возможно, мне следует изменить свою идею на конечную sh задачу.

Ответы [ 2 ]

4 голосов
/ 10 февраля 2020

Здесь вы go:

fun1 = lambda x: __import__('math').acos(x)
3 голосов
/ 10 февраля 2020

Здесь нет необходимости даже для лямбды:

from math import acos as fun1

Но если вам нужно, чтобы она была лямбда, вы можете использовать точку с запятой ;, чтобы поместить ее в ту же строку, что и import:

import math; fun1 = lambda x: math.acos(x)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...