【发布时间】:2017-11-15 01:00:39
【问题描述】:
我正在尝试实现一个函数,该函数接受“1+2-3”或“-2+2”等字符串输入,像计算器一样计算它并返回整数答案。
在示例中,它会为两个输入返回 0。我们可以假设只有 + 或 - 运算符(没有倍数/除法/或任何其他运算符),并且输入格式正确,因此我们不需要进行任何验证(即它始终是交替的运算符/操作数) .
我需要它而不使用现有的 Python 函数,如 calc() 等。相反,我尝试开发一个实际执行此操作的简单代码。
我的代码是
d = {}
sum = 0
for index, value in enumerate(s):
if value.isdigit():
pass
else:
if not value.isdigit():
d[index] = int(s[index]+s[index+1])
for i in d.values():
sum += i
但它只适用于“-2+2”的情况。
我怎样才能使它也适用于“1+2-3”的情况。
【问题讨论】:
标签: python python-3.x python-2.7