编写程序,模拟简单运算器的工作:输入一个算式(没有空格),遇等号“=”说明输入结束
时间: 2024-06-16 17:08:23 浏览: 13
编写程序模拟简单运算器的工作可以分为以下几个步骤:
1. 获取用户输入的算式,可以使用 input 函数来获取。
2. 分析输入的算式,判断其中的运算符号和数字,并将其存储到一个列表中。
3. 根据运算符的优先级,计算出算式的结果。可以使用栈来实现。
4. 输出计算结果。
下面是一个简单的 Python 程序示例,用于计算输入的加减乘除算式:
```
def is_number(s):
try:
float(s)
return True
except ValueError:
return False
def calculate(expr):
stack = []
for token in expr:
if is_number(token):
stack.append(float(token))
elif token == '+':
b = stack.pop()
a = stack.pop()
stack.append(a + b)
elif token == '-':
b = stack.pop()
a = stack.pop()
stack.append(a - b)
elif token == '*':
b = stack.pop()
a = stack.pop()
stack.append(a * b)
elif token == '/':
b = stack.pop()
a = stack.pop()
stack.append(a / b)
return stack
def main():
expr = input("请输入算式:")
tokens = []
token = ''
for c in expr:
if c.isdigit() or c == '.':
token += c
else:
if token != '':
tokens.append(token)
token = ''
tokens.append(c)
if token != '':
tokens.append(token)
result = calculate(tokens)
print("结果是:", result)
if __name__ == '__main__':
main()
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)