ARMADIK
@ARMADIK
Прослойка между стулом и кливиатурой...

Как передать арифметическое выражение в аргумент функции?

Доброго времени суток,
Народ, не могу нагуглить как передать математическую операцию в функцию в качестве аргумента.
Задание из основ python.
Как передать арифметическое выражение в функцию? где выполнить само действие.
Пример задания:
spoiler
1) Входные данные: 1+9.
Выходные значения: 10.
2) Входные данные: 100%.
Выходные значения: 1.0.
3) Входные данные: 4**.
Выходные значения: 16.
4) Входные данные: 9**3.
Выходные значения: 729.
  • Вопрос задан
  • 1761 просмотр
Решения вопроса 1
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
Как вариант - передавать операцию в виде lambda-функции как аргумент
def myfunc(func, *args):
    return func(*args)
# передать x*y и аргументы
myfunc(lambda x,y:x*y, 2, 3)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
lxsmkv
@lxsmkv
Test automation engineer
Если это из основ, то можно математическую операцию обозначить какой-нибудь переменной.
Tогда ваша функция будет выглядеть как-то так
def calc(op,*args):
  if op=="add":
    return sum(i for i in args)
  elif op=="square":
    return args[0]*args[0]

print calc("add", 3,12,45) #60
print calc("square", 12, 32, 7) # 144
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы