代码如下:from __future__ import divisionx=1y=1z="/"result={"+":x+y,"-":x-y,"*":x*y,"/":x/y}x=raw_input("输入第一个数字:\n")z=raw_input("输入运算符:\n")y=raw_input("输入第二个数字:\n")print result.get(z)(x,y)运算符输入 + 会报错TypeError: 'int' object is not callable运算符输入 "+" 会报错TypeError: 'NoneType' object is not callable是哪一段出了什么问题?
2 回答
慕哥9229398
TA贡献1877条经验 获得超6个赞
# coding: utf-8 from __future__ import division result = { '+': lambda x, y: x + y, '-': lambda x, y: x - y, '*': lambda x, y: x * y, '/': lambda x, y: x / y,}x = raw_input("输入第一个数字: ")z = raw_input("输入运算符: ")y = raw_input("输入第二个数字: ")print "=", result.get(z)(int(x), int(y))
沧海一幻觉
TA贡献1824条经验 获得超5个赞
result.get(z)返回的是一个整数呀!
正确的完整的程序如下:
result={"+":'x+y',"-":'x-y',"*":'x*y',"/":'x/y'}
x=float(input("输入第一个数字:\n"))
z=input("输入运算符:\n")
y=float(input("输入第二个数字:\n"))
print( eval( result.get(z)) ) #(x,y)
添加回答
举报
0/150
提交
取消
