如何使用字符或字符串作为放置在操作数之间的运算符?

我想接收运算符(如'+'、'-'、'*'、'/')并直接在代码体中使用。有点像:


char = raw_input('enter your operator:')

a=1

b=5

c=a char b    #error! how can i do it?

如果用户输入“*”,c 将为 5。


如果用户输入“+”,c 将是 6,依此类推。


一只甜甜圈
浏览 130回答 3
3回答

函数式编程

你可以这样做:import operatoroperations = {'+': operator.add, '-': operator.sub, '*': operator.mul, '/': operator.truediv}char = raw_input('enter your operator:')a = 1b = 5c = operations[char](a, b)print c输出 (对于字符 = +)6

慕森王

或使用:from operator import *char = raw_input('enter your operator:')a=1b=5c={'+':add,'-':sub,'*':mul,'/':truediv}print(c[char](a,b))或者int.some operator name:char = raw_input('enter your operator:')a=1b=5c={'+':int.__add__,'-':int.__sub__,'*':int.__mul__,'/':int.__truediv__}print(c[char](a,b))两种情况的演示输出:enter your operator:*5

qq_笑_17

像这样:a=1b=2op = '+'result = eval('{}{}{}'.format(a, op, b)) # result = 3您还必须将 a 和 b 转换为字符串eval才能工作。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python