python四则运算计算器总结_Python实现简单的四则运算计算器

本文介绍了使用Python实现一个简单的四则运算计算器的过程,包括算法思路、计算器的使用方法和测试案例。通过将中缀表达式转换为后缀表达式,并利用栈数据结构计算结果。此外,还提供了计算器类的实现代码,包括栈的实现和计算器类的详细方法。
摘要由CSDN通过智能技术生成

摘要:一、算法     1、算法的主要思想就是将一个中缀表达式(Infix expression)转换成便于处理的后缀表达式(Postfix expression),然后借助于栈这个简单的数据结构,计算出表达式的结果。     2、关于如何讲普通的表达式转换成后缀表达式,以及如何处理后缀表达式并计算出结果的具体算法描述不在此

一、算法

1、算法的主要思想就是将一个中缀表达式(Infix expression)转换成便于处理的后缀表达式(Postfix expression),然后借助于栈这个简单的数据结构,计算出表达式的结果。

2、关于如何讲普通的表达式转换成后缀表达式,以及如何处理后缀表达式并计算出结果的具体算法描述不在此叙述了,书上有详细的说明。

二、简易计算器

使用说明

使用该计算器类的简单示例如下:# usage

c = Calculator()

print('result: {:f}'.formart(c.get_result('1.11+2.22-3.33*4.44/5.55')))

# output:

result: 0.666000

测试案例

为了对这个计算器进行有效地检验,设计了几组测试案例,测试结果如下:Test No.1: (1.11) = 1.110000

Test No.2: 1.11+2.22-3.33*4.44/5.55 = 0.666000

Test No.3: 1.11+(2.22-3.33)*4.44/5.55 = 0.222000

Test No.4: 1.11+(2.22-3.33)*(4.44+5.55)/6.66 = -0.555000

Test No.5: 1.11*((2.22-3.33)*(4.44+5.55))/(6.66+7.77) = -0.852992

Test No.6: (1.11+2.22)*(3.33+4.44)/5.55*6.66 = 31.048920

Test No.7: (1.11-2.22)/(3.33+4.44)/5.55*(6.66+7.77)/(8.88) = -0.041828

Test No.8: Error: (1.11+2.22)*(3.33+4.44: missing ")", please check your expression

Test No.9: Error: (1.11+2.22)*3.33/0+(34-45): divisor cannot be zero

Test No.10: Error: 12+89^7: invalid character: ^

实现代码

栈的实现

栈实际上就是一个被限制操作的表,所有的操作只能在栈的顶端(入栈、出栈等),以下是使用Python代码实现的简单的栈:class Stack(object):

"""

The structure of a Stack.

The user don't have to know the definition.

"""

def __init__(self):

self.__container = list()

def __is_empty(self):

"""

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值