实现一个简单的Python计算器

本文介绍如何用Python编写一个简单的计算器,能执行加、减、乘、除运算。通过创建计算器函数,获取用户输入,调用函数并输出结果,实现基本的算术运算。

在这篇文章中,我将向您展示如何使用Python编写一个简单的计算器。该计算器将能够执行基本的算术运算,例如加法、减法、乘法和除法。我们将使用Python的基本语法和函数来实现这个计算器。

步骤1:创建计算器函数
首先,我们需要创建一个函数,该函数将接收用户输入的两个数字和运算符,并返回计算结果。下面是创建计算器函数的代码:

def calculator(num1, num2, operator):
    if operator == '+':
        result = num1 + num2
   
不使用`eval`函数实现简单计算器可以手动解析表达式进行计算。以下是一个支持基本四则运算(加、减、乘、除)的简单计算器代码示例: ```python def apply_operator(operators, values): operator = operators.pop() right = values.pop() left = values.pop() if operator == '+': values.append(left + right) elif operator == '-': values.append(left - right) elif operator == '*': values.append(left * right) elif operator == '/': values.append(left / right) def precedence(operator): if operator in ('+', '-'): return 1 if operator in ('*', '/'): return 2 return 0 def calculate(expression): values = [] operators = [] i = 0 while i < len(expression): if expression[i].isdigit(): num_str = "" while i < len(expression) and (expression[i].isdigit() or expression[i] == '.'): num_str += expression[i] i += 1 values.append(float(num_str)) i -= 1 elif expression[i] in ('+', '-', '*', '/'): while (operators and precedence(operators[-1]) >= precedence(expression[i])): apply_operator(operators, values) operators.append(expression[i]) elif expression[i] == '(': operators.append(expression[i]) elif expression[i] == ')': while operators and operators[-1] != '(': apply_operator(operators, values) operators.pop() i += 1 while operators: apply_operator(operators, values) return values[0] expression = "3 + 5 * 2" result = calculate(expression) print(result) ``` 该代码通过手动解析表达式,利用栈来处理运算符和操作数,实现了基本的四则运算。首先定义了`apply_operator`函数用于执行具体的运算操作,`precedence`函数用于确定运算符的优先级,`calculate`函数则是核心的表达式计算函数,它会遍历表达式字符串,根据不同的字符类型(数字、运算符、括号)进行相应的处理,最终得出计算结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码编织匠人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值