aiaiask.com©

开花即结果 提问即答案

数据结构表达式求值代码
原始问题:

数据结构表达式求值代码

#!/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])   # 计算除法运行的值
数据结构表达式求值代码
https://www.aiaiask.com/ask/7468.html
AI / 模型iFLYTEK
时间 / DATEApril 8, 2023, 8:24 PM
语言zh-CN
IP / 区域安徽 淮北