qcode
  • 创作工场专业版,一问多答!更智能、更完整、更原创
  • 这是一个超强内容创作平台,它会写文章、做设计、绘图、敲代码,有问必答!
🔥点击使用-高级专业版🔥

数据结构表达式求值代码

时间2023-04-08 20:24:12 提问来自 安徽省淮北市 的网友 分类创作 浏览430
```python #!/usr/bin/env python3 # -*- coding: utf-8 -*- # 通用表达式求值算法,只支持加减乘除和小数,不支持复杂运算(如平方根、三角函数等) def evaluate(expression): # expression是字符串格式的表达式 expression_list = expression.split(' ') # 将字符串表达式以空格分割成列表形式 # 先将乘除运算完成(避免出现1+2*3的情况) i = 0 # 用于循环遍历expression_list中的元素 while i < len(expression_list): # 遍历expression_list中的元素 if expression_list[i] == '*': # 如果当前元素为'*'号时,则将前后两个数相乘并替代当前位上的'*'号 result = float(expression_list[i - 1]) * float(expression_list[i + 1]) # 计算前后两数相乘的值 del expression_list[i - 1: i + 2] # 移除原有位上的三个元素 expression_list.insert(i - 1, str(result)) # 把新计算出来的值重新加回列表中 elif expression_list[i] == '/': # 如果当前元素是'/'号时,则将前一数除以后一数并替代当前位上'/'号 result = float(expression_list[i - 1]) / float(expression_list[i + 1]) # 计算除法运行的值 del expression_list[i - 1: i + 2] # 移除原有位上的三个元

点击这里,进行内容创作

创作工场 免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。
点击这里>>使用🔥专业版,更聪明、更完整、更原创!

上一篇 数据结构求解表达式求值 下一篇 能否再详细一点,包括历史方面,谢谢!