【发布时间】:2021-11-07 20:41:54
【问题描述】:
示例测试用例 测试用例 1: 预期输出: 输入·后缀·表达式231*+9- 结果·of·后缀·表达式·231*+9-·is·-4
测试用例 2: 预期输出: 输入·后缀·表达式34+22/* 结果·of·后缀·表达式·34+22/*·is·7
class Evaluate:
def __init__(self, capacity):
self.top = -1
self.capacity = capacity
self.array = []
def isEmpty(self):
return True if self.top == -1 else False
def peek(self):
return self.array[-1]
def pop(self):
if not self.isEmpty():
self.top -= 1
return self.array.pop()
else:
return "$"
def push(self, op):
self.top += 1
self.array.append(op)
def evaluatePostfix(self, exp):
for i in exp:
if i.isdigit():
self.push(i)
else:
val1 = self.pop()
val2 = self.pop()
self.push(str(eval(val2 + i + val1)))
return int(self.pop())
exp = input('Enter Postfix expression')
obj = Evaluate(len(exp))
print("Result of Postfix expression", exp , "is %d" % (obj.evaluatePostfix(exp)))
Test Case 1: Getting Correct Output = Result·of·Postfix·expression·231*+9-·is·-4
But in Test Case 2: I will get an Error
**Please let me know Where iam wrong...**
【问题讨论】:
标签: python postfix-mta