3 回答

TA貢獻1807條經驗 獲得超9個贊
你可以這樣做:
import operator
operations = {'+': operator.add, '-': operator.sub, '*': operator.mul, '/': operator.truediv}
char = raw_input('enter your operator:')
a = 1
b = 5
c = operations[char](a, b)
print c
輸出 (對于字符 = +)
6

TA貢獻1777條經驗 獲得超3個贊
或使用:
from operator import *
char = raw_input('enter your operator:')
a=1
b=5
c={'+':add,'-':sub,'*':mul,'/':truediv}
print(c[char](a,b))
或者int.some operator name:
char = raw_input('enter your operator:')
a=1
b=5
c={'+':int.__add__,'-':int.__sub__,'*':int.__mul__,'/':int.__truediv__}
print(c[char](a,b))
兩種情況的演示輸出:
enter your operator:*
5

TA貢獻1818條經驗 獲得超7個贊
像這樣:
a=1
b=2
op = '+'
result = eval('{}{}{}'.format(a, op, b)) # result = 3
您還必須將 a 和 b 轉換為字符串eval才能工作。
添加回答
舉報