编写python程序,创建列表,实现简易计算器的功能
时间: 2024-10-23 08:11:48 浏览: 29
在Python中,你可以编写一个简单的命令行界面计算器程序,使用列表来存储操作数和运算符。下面是一个基础的实现示例:
```python
def calculate():
# 创建一个空的栈用于存储运算数和运算符
operation_stack = []
while True:
user_input = input("请输入算式(例如 1 + 2 或 q 退出):")
if user_input.lower() == 'q':
break
try:
# 将输入分割成操作数和运算符
num1, operator, num2 = user_input.split()
# 将数字转换为整数并添加到栈中
operation_stack.append(int(num1))
operation_stack.append(operator)
operation_stack.append(int(num2))
except ValueError:
print("无效的输入,请确保输入的是数字和运算符。")
result = perform_calculations(operation_stack)
print(f"计算结果是: {result}")
def perform_calculations(stack):
while len(stack) > 1:
num2 = stack.pop()
num1 = stack.pop()
op = stack.pop()
if op == '+':
stack.append(num1 + num2)
elif op == '-':
stack.append(num1 - num2)
elif op == '*':
stack.append(num1 * num2)
elif op == '/':
stack.append(num1 / num2)
return stack[0]
calculate()
```
在这个程序中,我们首先定义了一个`calculate`函数,它会循环读取用户的输入,并将其分割成操作数和运算符。然后通过`perform_calculations`函数对堆栈中的元素进行计算,直到所有运算都完成。如果用户输入了非法数据,我们会捕获`ValueError`异常并提示用户。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.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)
![](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)