返回顶部
首页 > 资讯 > 后端开发 > Python >Python之简易计算器
  • 491
分享到

Python之简易计算器

计算器简易Python 2023-01-30 22:01:40 491人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

  思路:学会运用正则表达式把需要先进行计算的匹配出来,然后再一步步的去算,把先算出来的值替换原来的值,再进一步的把++,--等号变成我们正常的数学上的符号,然后再进行一步步的替换,最终把带括号的都计算出来,再调用一次加减函数进行计算

  思路:学会运用正则表达式把需要先进行计算的匹配出来,然后再一步步的去算,把先算出来的值替换原来的值,再进一步的把++,--等号变成我们正常的数学上的符号,然后再进行一步步的替换,最终把带括号的都计算出来,再调用一次加减函数进行计算

import re

def atom_cal(exp):      #计算乘除法
    if "*" in exp:
        a,b = exp.split("*")    #以*作切割,把切出来的两个值分别赋给a,b
        return str(float(a) * float(b)) #用float计算ab相乘的值并转换成字符串格式,便于计算
    else:
        a,b = exp.split("/")    #以/作切割,把切出来的两个值分别赋给a,b
        return str(float(a) / float(b))

def mul_div(exp):   #乘除
    while 1:
        ret = re.search("\d+(\.\d+)?[*/]-?\d+(\.\d+)?",exp)     #把乘除法匹配出来
        if ret:
            atom_exp = ret.group()  #取第一个组匹配出来的乘除法
            res = atom_cal(atom_exp)    #调用atom_cal函数计算乘除法
            exp = exp.replace(atom_exp,res)     #替换  将计算出来的值与原式子替换
        else:return exp     #当没有相匹配的乘除法时,返回exp

def fORMat_exp(exp):    #改变符号
    exp = exp.replace("--","+")
    exp = exp.replace("-+","-")
    exp = exp.replace("+-","-")
    exp = exp.replace("++","+")
    return exp

def add_sub(exp):   #计算加减
    ret = re.findall("[+-]?\d+(?:\.\d+)?",exp)  #把能加减的匹配出来,包括小数,负数等
    exp_sum = 0
    for i in ret:
        exp_sum += float(i)     #累加至exp_sum中返回
    return exp_sum

def cal(exp):
    exp = mul_div(exp)  #乘除
    exp = format_exp(exp) #变号
    exp_sum = add_sub(exp)  #加减
    return exp_sum      #float

def main(exp):
    exp = exp.replace(" ","")#去空格
    while 1:
        ret = re.search("\([^()]+\)",exp)    #括号最里面的数
        if ret:
            inner_bracket = ret.group()     #取正则表达式匹配到的第一个组数
            res = str(cal(inner_bracket))       #调用cal计算
            exp = exp.replace(inner_bracket,res)           #把算出来的值返回给括号
            exp = format_exp(exp)   #调用函数,变号
        else:break
    return cal(exp)
s = '1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) )'
print(main(s))

 

--结束END--

本文标题: Python之简易计算器

本文链接: https://lsjlt.com/news/179291.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python之简易计算器
      思路:学会运用正则表达式把需要先进行计算的匹配出来,然后再一步步的去算,把先算出来的值替换原来的值,再进一步的把++,--等号变成我们正常的数学上的符号,然后再进行一步步的替换,最终把带括号的都计算出来,再调用一次加减函数进行计算 ...
    99+
    2023-01-30
    计算器 简易 Python
  • python实现简易计算器功能
    本文实例为大家分享了python实现简易计算器功能的具体代码,供大家参考,具体内容如下 一、功能目标 用户输入一个类似  1-2*((60-30+(-40/5)*(9-2*...
    99+
    2024-04-02
  • Python制作简易计算器功能
    本文实例为大家分享了Python制作简易计算器的具体代码,供大家参考,具体内容如下 简易计算器 简易计算器功能: 实现输入,计算,输出功能;可以计算基本的加减乘除功能;处理除法中除数...
    99+
    2024-04-02
  • Android Studio简易计算器
    目录 第一步,创建新项目 第二步,设计UI 第三步,实现计算逻辑 第四步,测试应用程序 随着移动互联网的普及,手机应用程序已经成为人们生活中不可或缺的一部分。计算器是一类被广泛使用的应用程序之一,因此学习如何开发一款简易的计算器应用程序是...
    99+
    2023-09-17
    android studio android
  • 【Android Studio】简易计算器
    简易计算器要求: 1,操作简单,易于掌握,界面简单。 2.方便进行加,减,乘,除等操作。数字保留小数点后两位。 3.包含小数点运算和输入回退功能。 4.能够进行多次叠加运算。 5.系统能够进行多次叠加...
    99+
    2023-09-21
    android studio python android
  • js制作简易计算器
    本文实例为大家分享了js制作简易计算器的具体代码,供大家参考,具体内容如下 要制作一个如图所示的简易计算器,首先要建立一个表单,制作出如图所示的样子。 <table bo...
    99+
    2024-04-02
  • Python - 简易版计算器(附完整代码)
    文章目录 1. 实现的功能2. 录入数据及运算符处理函数3. 检查输入的运算符规范性函数4. 录入运算符号处理函数5. 输入的第二个数的处理函数6. 完整代码6. 拓展 1. 实现的功能...
    99+
    2023-10-07
    python 数据库
  • C#实现简易的计算器
    本文实例为大家分享了C#实现简易的计算器的具体代码,供大家参考,具体内容如下 1 题目描述 (1)Form1窗体设计界面如下: (2)运算类型的下列列表中包括:加法、减法、乘法、除...
    99+
    2024-04-02
  • jQuery实现简易的计算器
    本文实例为大家分享了jQuery实现简易的计算器的具体代码,供大家参考,具体内容如下 布局如下: css代码 #d1{     width: 400px;     height: ...
    99+
    2024-04-02
  • iOS实现简易的计算器
    本文实例为大家分享了iOS实现简易的计算器的具体代码,供大家参考,具体内容如下 初步接触视图,制作了一个简易的计算器,基本上简单的计算是没有问题的,不是很完美,可能还有一些bug,再...
    99+
    2024-04-02
  • Android Studio实现简易计算器设计
    本文实例为大家分享了Android Studio实现简易计算器的具体代码,供大家参考,具体内容如下 一、题目 1、如图所示(实际设计,类似此界面样式即可,全屏时,按钮将会纵向拉伸),...
    99+
    2024-04-02
  • 基于Python+Tkinter实现一个简易计算器
    目录设计原理示例效果主要代码设计原理 从结构上来说,一个简单的图形界面,需要由界面组件、组件的事件监听器(响应各类事件的逻辑)和具体的事件处理逻辑组成。界面实现的主要工作是创建各个界...
    99+
    2024-04-02
  • 【Python】科学计算库Scipy简易入门
    0.导语 Scipy是一个用于数学、科学、工程领域的常用软件包,可以处理插值、积分、优化、图像处理、常微分方程数值解的求解、信号处理等问题。它用于有效计算Numpy矩阵,使Numpy和Scipy协同工作,高效解决问题。 Scipy是由针...
    99+
    2023-10-12
    python scipy 开发语言
  • javascript如何编写简易计算器
    这篇文章主要介绍javascript如何编写简易计算器,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!代码如下<!DOCTYPE html> <html&n...
    99+
    2024-04-02
  • JavaScript实现简易加法计算器
    本文实例为大家分享了JavaScript实现加法计算器的具体代码,供大家参考,具体内容如下 具体要求: 1.页面布局: 2.还需要在点击计算按钮之后在页面上显示计算结果 具体实现...
    99+
    2024-04-02
  • 基于JavaScript实现简易计算器
    本文实例为大家分享了JavaScript实现简易计算器的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html lang="en"&g...
    99+
    2024-04-02
  • 使用JS实现简易计算器
    使用JS完成简易计算器,供大家参考,具体内容如下 要求:输入的值只能是数字,使用正则表达式 onchange():值改变时执行事件 onblur():鼠标移出时执行事件 <...
    99+
    2024-04-02
  • Android实现简易计算器功能
    本项目为大家分享了Android实现计算器功能的具体代码,供大家参考,具体内容如下 项目介绍 练手项目。能实现加减乘除及括号运算。 开发思路 界面布局  1.界面布...
    99+
    2024-04-02
  • 原生js实现简易计算器
    本文实例为大家分享了js实现简易计算器的具体代码,供大家参考,具体内容如下 最近,博主闲来无聊,就没事用js写了个简易计算器(博主是搞后端的,不是前端>_<)。其实,感觉...
    99+
    2024-04-02
  • JS怎么实现简易计算器
    这篇文章主要介绍了JS怎么实现简易计算器的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JS怎么实现简易计算器文章都会有所收获,下面我们一起来看看吧。 一、题目描述 用户在弹...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作