python - 如何用Python制作一个像C++一样的计算器

标签 python python-2.7 python-3.x wxpython ipython

我想制作一个计算器来计算“/”、“*”和“+”,所以我这样写代码

x,op,y=raw_input()
if op=='+':
  print int(x)+int(y)

这里如果我输入的数字有两位数,就会出错,我应该输入小于10的数字,从0到9,只是为了做加号或减号等等,所以我尝试像这样分割它们

x,op,y=raw_input().split()
if op=='+':
  print int(x)+int(y)

输入的内容将类似于 20 + 20 这里的问题是我想删除超过 9 的数字之间的空格以进行操作我想要输入像 20+20 而不是 20 + 20 这样我就可以提交网上法官的代码请帮帮我

最佳答案

你真的需要自己解析表达式吗?那又怎么样

expression = raw_input()
answer = eval(expression)
print answer

如果默认异常引发不是您想要的行为,您可以使用 try: 并捕获异常并执行一些明智的操作。 (例如,如果表达式最终成为 asdf'.8 或其他一些垃圾表达式,您可能需要与默认 SyntaxError 不同的行为。)

注意:对我上面建议的方法的批评是它允许评估潜在的恶意字符串,因此首先清理您的输入可能是有意义的......

关于python - 如何用Python制作一个像C++一样的计算器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33401321/

相关文章:

python - 从过去导入 print_statement

python - GPSD 未响应新连接

python - 当我处理大于 99 的数字时,我的代码开始产生不合逻辑的答案

python - Pandas :如果关键字出现在任何列中,则选择行

regex - 以模式排列给定的线

python - 导入错误 : MagickWand shared library not found[windows]

python - 无法从网页收集所有店铺名称

python - Django:模型内交叉引用模型对象 - 最佳实践?

python - 如何找到图像中的簇数?

python-3.x - pyinstaller 创建的可执行文件不运行