将运算符分配给python中的变量?

2022-01-17 00:00:00 python operators compiler-construction

问题描述

将数学应用于变量的常用方法是

Usual method of applying mathematics to variables is

a * b

它能够像这样计算和操作两个操作数吗?

Is it able to calculate and manipulate two operands like this?

a = input('enter a value')
b = input('enter a value') 
op = raw_input('enter a operand')

那我如何连接 op 和两个变量 ab?
我知道我可以将 op 与 +-%$ 进行比较,然后分配和计算....

Then how do i connect op and two variables a and b?
I know I can compare op to +, -, %, $ and then assign and compute....

但是我可以做类似 a op b 的事情吗,如何告诉编译器 op 是一个运算符?

But can i do something like a op b, how to tell compiler that op is an operator?


解决方案

你可以使用 operator 模块和字典:

You can use the operator module and a dictionary:

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)

相关文章