Обычный метод применения математики к переменным
a * b
Может это, чтобы вычислить и управлять двумя операндами как это?
a = input('enter a value')
b = input('enter a value')
op = raw_input('enter a operand')
Затем, как я соединяю op и две переменные a
и b
?
Я знаю, что могу сравнить op с +
, -
, %
, $
и затем присвойте и вычислите....
Но я могу сделать что-то как a op b
, как сказать компилятору, что op является оператором?
Вы можете использовать модуль оператора и словарь:
import operator
ops = {
"+": operator.add,
"-": operator.sub,
"*": operator.mul,
"/": operator.div
}
op_char = input('enter a operand')
op_func = ops[op_char]
result = op_func(a, b)
Вам нужно будет вручную сравнить введенную пользователем строку с вашим списком операндов. Здесь нет аналога int (), поскольку операторы - это ключевые слова в языке, а не значения.
После сравнения этой входной строки со списком операндов и определения оператора, которому она соответствует, вы можете использовать модуль оператора стандартной библиотеки Python для вычисления результата применения оператора к вашему два операнда.
Модуль оператора http://docs.python.org/library/operator.html предоставляет функции, соответствующие практически всем операторам Python. Вы можете сопоставить символы операторов с этими функциями, чтобы получить нужную функцию, затем назначить ее своей переменной op и вычислить op (a, b).