Как вставить функцию которое находится в другом функции на variable?
Мне нужно вставить функцию которое находится в другом функции на variable Calculator
def Calculate(str):
def Calculate2(str):
print(int(eval(str)))
Calculator = Calculate2
Calculator(input())
Этот код даёт ошибку NameError: name 'Calculate2' is not defined. Did you mean: 'Calculate'? Я даже попробовал так
def Calculate(str):
global Calculate2
def Calculate2(str):
print(int(eval(str)))
Calculator = Calculate2
Calculator(input())
Но всё равно та ошибка
Ответы (2 шт):
Автор решения: Алексей Р
→ Ссылка
Используйте return Calculate2
def Calculate():
def Calculate2(expression):
print(int(eval(expression)))
return Calculate2
Calculator = Calculate()
Calculator(input('Введите выражение: '))
Переменную c именем str лучше не использовать, чтобы не перекрывать встроенный объект str
Введите выражение: 1+2+3
6
Автор решения: yngdev
→ Ссылка
Можно попробовать сделать так:
def calculate(string: str):
def do_calc(s):
return int(eval(s))
return do_calc(string)
print(calculate('100 * 15'))