zoukankan      html  css  js  c++  java
  • 计算器代码

    代码比较low,有时间在更新。

    当时初学只是为了实现。

    #实现加减乘除以及括号优先级解析))
    
    import re
    
    s = "1-2*((60-30+(-40/5)*(9-2*5/3+7/3*99/4*2998+10*568/14))-(-4*3)/(16-3*2))"
    # s = "1-2*((60-30-8*(9-3+146902+405))-(-4*3)/(16-3*2))"
    print(eval(s))
    
    
    def retr(str):
        try:
            str = str.replace("--", "+")
            str = str.replace("++", "+")
            str = str.replace("-+", "-")
            str = str.replace("+-", "-")
        except:
            pass
    
        ret = re.search("([^()]+)", str)
    
        a = ret.group()
        print(a)
        if ret == None:
            pass
        else:
            suan = ret.group()
            suan = suan.replace("(", "")
            suan = suan.replace(")", "")
        return suan,a
    
    # def th(str):
    
    def hf(str):
        a = str[:2]
        if not a.isdigit():
            if a == "-+" or a == "+-":
                str = str.replace(a, "-")
        return str
    
    def jjcc(str):
        nstr = hf(str)
        ret = re.search("(.*?d+)(D)(.*?d+)", nstr)
        # print(ret.group())
        a = ret.group(2)
        c = int(ret.group(1))
        b = int(ret.group(3))
        if a == "+":
            end = c + b
        if a == "-":
            end = c - b
        if a == "*":
            end = c * b
        if a == "/":
            end = c / b
        return end
    
    # print(jjcc(suan))
    # print(jjcc("-+6*-1"))
    
    
    # while True:
    #     suan, a = retr(s)[0],retr(s)[1]
    #     rep = str(jjcc(suan))
    #     s = s.replace(a, rep)
    #     print(s)
    
    suan, a = retr(s)[0], retr(s)[1]
    rep = str(jjcc(suan))
    s = s.replace(a, rep)
    # print(s)
    
    suan, a = retr(s)[0], retr(s)[1]
    rep = str(jjcc(suan))
    s = s.replace(a, rep)
    # print(s)
  • 相关阅读:
    手撸机器学习算法
    手撸机器学习算法
    《Python深度学习》 Part 1
    使用Gimp制作Windows应用程序图标
    C# 检查硬盘分区是ssd还是hdd
    微信小程序授权登录以及用户信息相关接口调整导致授权框不弹出
    CNN-LSTM
    MIL基本语法
    Akka Platform Guide 关键点梳理
    阿里云windows服务器激活
  • 原文地址:https://www.cnblogs.com/GhostCatcg/p/8099632.html
Copyright © 2011-2022 走看看