当然可以!我会用 GPT-3.5 Turbo 版为您编写一个简单的计算器代码。下面是一个使用 Python 编写的示例:

import re

def calculator(expression):
    # 删除空格
    expression = re.sub(r'\\s+', '', expression)

    # 定义运算符优先级
    precedence = {'+': 1, '-': 1, '*': 2, '/': 2, '^': 3}

    # 声明操作数栈和运算符栈
    operands = []
    operators = []

    i = 0
    while i < len(expression):
        if expression[i].isdigit():
            # 提取数字
            num = ''
            while i < len(expression) and (expression[i].isdigit() or expression[i] == '.'):
                num += expression[i]
                i += 1
            operands.append(float(num))
        elif expression[i] in precedence:
            # 处理运算符
            while operators and operators[-1] != '(' and precedence[expression[i]] <= precedence[operators[-1]]:
                evaluate(operands, operators)
            operators.append(expression[i])
            i += 1
        elif expression[i] == '(':
            # 处理左括号
            operators.append(expression[i])
            i += 1
        elif expression[i] == ')':
            # 处理右括号
            while operators and operators[-1] != '(':
                evaluate(operands, operators)
            operators.pop()
            i += 1
        else:
            i += 1

    while operators:
        evaluate(operands, operators)

    return operands[0]


def evaluate(operands, operators):
    # 执行一次运算
    if len(operands) < 2:
        return

    num2 = operands.pop()
    num1 = operands.pop()
    operator = operators.pop()

    result = 0
    if operator == '+':
        result = num1 + num2
    elif operator == '-':
        result = num1 - num2
    elif operator == '*':
        result = num1 * num2
    elif operator == '/':
        result = num1 / num2
    elif operator == '^':
        result = num1 ** num2

    operands.append(result)

# 提示用户输入表达式
expression = input('请输入表达式:')

# 计算表达式结果
result = calculator(expression)
print('计算结果:', result)

请注意,这只是一个非常简单的计算器示例,可能无法处理复杂的数学运算或错误处理。您可以根据需要对代码进行修改和扩展。

Python 计算器代码示例:实现基础运算

原文地址: https://www.cveoy.top/t/topic/bJ8x 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录