利用栈 四则运算

 

以下是一个简单的四则运算答题系统Python代码,利用实现了计算表达式的功能。 ```python class Stack: def __init__(self): self.items = [] def push(self, item): self.items.append(item) def pop(self): return self.items.pop() def peek(self): return self.items[-1] def is_empty(self): return len(self.items) == 0 class Calculator: def __init__(self): self.stack = Stack() def calculate(self, expr): for token in expr: if token.isdigit(): self.stack.push(int(token)) else: op1 = self.stack.pop() op2 = self.stack.pop() if token == '+': self.stack.push(op2 + op1) elif token == '-': self.stack.push(op2 - op1) elif token == '*': self.stack.push(op2 * op1) elif token == '/': self.stack.push(op2 / op1) return self.stack.pop() if __name__ == '__main__': calculator = Calculator() expr = input('请输入表达式:').split() result = calculator.calculate(expr) print(f'计算结果为:{result}') ``` 这个程序要求用户输入一个包含数字和运算符的表达式,然后使用来计算表达式的结果。程序首先创建一个名为`Stack`的类来实现的功能,然后创建一个名为`Calculator`的类来实现计算器的功能。`Calculator`类包含一个名为`stack`的对象,以及一个名为`calculate`的方法,用于计算表达式的结果。 在`calculate`方法中,程序首先遍历表达式中的每个字符,如果是数字则将其转换为整数并压入中,如果是运算符则弹出顶的两个数字进行计算,然后将计算结果压入中。最后,`calculate`方法返回的最后一个元素,即为计算结果。 在程序的主函数中,首先创建一个`Calculator`对象,然后要求用户输入一个表达式,使用`split`方法将表达式拆分成数字和运算符的列表,然后调用`calculate`方法计算表达式的结果,并打印计算结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值