希望实现一个简易计算器,但是代码报错了?该怎么解决?

代码如下:

from __future__ import division
x=1
y=1
z="/"
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
是哪一段出了什么问题?

FFIVE
浏览 168回答 2
2回答

慕哥9229398

# 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))

沧海一幻觉

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)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python