返回顶部
首页 > 资讯 > 后端开发 > Python >简单的计算功能,还需要优化
  • 391
分享到

简单的计算功能,还需要优化

还需要简单功能 2023-01-31 00:01:38 391人浏览 安东尼

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

摘要

#还有需要优化的#!/usr/bin/env python3 Example = '1-2*((60-30+(9-2*5/-3+7/3*99/4*2998+10*568/14)*(-40/5))-(-4*3)/(16-3*2))' im

#还有需要优化
#!/usr/bin/env python3 Example = '1-2*((60-30+(9-2*5/-3+7/3*99/4*2998+10*568/14)*(-40/5))-(-4*3)/(16-3*2))' import re # 乘法函数 def multiplication(): value = 0 for n, i in enumerate(new_value): if n != 0: fa = '%.2f'%(float(new_value[n-1])) fb = '%.2f'%(float(new_value[n])) value = '%.2f'%(float(fa) * float(fb)) return value # 除法函数 def division(): value = 0 for n, i in enumerate(new_value): if n != 0: fa = '%.2f'%(float(new_value[n - 1])) fb = '%.2f'%(float(new_value[n])) value = '%.2f'%(float(fa) / float(fb)) return value # 加法函数 def addition(): value =0 for n, i in enumerate(new_value): if n != 0: fa = '%.2f'%(float(new_value[n - 1])) fb = '%.2f'%(float(new_value[n])) value = '%.2f'%(float(fa) + float(fb)) return value # 减法函数 def subtraction(): value = 0 for n, i in enumerate(new_value): if n != 0: fa = '%.2f'%(float(new_value[n - 1])) fb = '%.2f'%(float(new_value[n])) value = '%.2f'%(float(fa) - float(fb)) return valuewhile True: brackets = re.search("\([^()]*\)",Example) #匹配括号内容,'\('中\表示转义,serach函数匹配所有字符串 if brackets: take_off_brackets = brackets.group().strip('()')#脱掉括号 while True: element = re.findall('-?\d+\.\d+|\d+', take_off_brackets) if len(element) > 1: #计算take_off_brackets中的元素数量是否大于1 print(take_off_brackets) if '*' in take_off_brackets or '/' in take_off_brackets: #判断字符串中带有'*'或者'/' multiplication_and_division = re.search('(\d+\.\d+|\d+)(\*|\/)(-?\d+\.\d+|-?\d+)',take_off_brackets)#匹配字符串中的乘法和除法, # 其中'\d+\.\d+'表示匹配浮点,'\d+'表示整数,(\d+\.\d+|\d+)表示匹配浮点或者整数,括号表示这是一组,(\*|\/)表示匹配'*'或者'/', # (-?\d+\.\d+|-?\d+)中-?\d+\.\d+表示正浮点数或者负浮点数,-?\d+表示正数或者负数 if multiplication_and_division: mul_and_div = multiplication_and_division.group() if '*' in mul_and_div: new_value = mul_and_div.split('*') #将mul_and_div以*隔开生成列表 replace = multiplication() take_off_brackets = re.sub('(\d+\.\d+|\d+)\*(-?\d+\.\d+|-?\d+)',str(replace),take_off_brackets,1) # print(take_off_brackets) continue elif '/' in mul_and_div: new_value = mul_and_div.split('/') replace = division() take_off_brackets = re.sub('(\d+\.\d+|\d+)\/(-?\d+\.\d+|-?\d+)',str(replace),take_off_brackets,1) # print(take_off_brackets) continue else: break else: break elif '+' in take_off_brackets or '-' in take_off_brackets: addition_and_subtraction = re.search('(\d+\.\d+|\d+)(\+|\-)(-?\d+\.\d+|-?\d+)',take_off_brackets) if addition_and_subtraction: add_and_sub = addition_and_subtraction.group() if '+' in add_and_sub: if '++' in add_and_sub: new_value = add_and_sub.split('+', 1) replace = addition() take_off_brackets = re.sub('(\d+\.\d+|\d+)\+(-?\d+\.\d+|-?\d+)', str(replace), take_off_brackets, 1) # print(take_off_brackets) continue else: new_value = add_and_sub.split('+') replace = addition() take_off_brackets = re.sub('(\d+\.\d+|\d+)\+(-?\d+\.\d+|-?\d+)', str(replace), take_off_brackets, 1) # print(take_off_brackets) continue elif '-' in add_and_sub: if '--' in add_and_sub: new_value = add_and_sub.split('-', 1) replace = subtraction() take_off_brackets = re.sub('(\d+\.\d+|\d+)\-(-?\d+\.\d+|-?\d+)', str(replace), take_off_brackets, 1) # print(take_off_brackets) continue else: new_value = add_and_sub.split('-') replace = subtraction() take_off_brackets = re.sub('(\d+\.\d+|\d+)\-(-?\d+\.\d+|-?\d+)', str(replace), take_off_brackets, 1) # print(take_off_brackets) continue else: break else: break else: break else: # take_off_brackets = brackets.group().strip('()') aa = re.sub('\+','\+',brackets.group()) #将字符串中的'+'、'-'、'*'、'/'都加上转义符'/'这样替换的时候才能找到 bb = re.sub('\-','\-',aa) cc = re.sub('\*','\*',bb) dd = re.sub('\/','\/',cc) Example = re.sub(dd, str(take_off_brackets).strip('()'), Example, 1) brackets = re.search("\([^()]*\)", Example) tt = re.sub('\(','\(',brackets.group()) yy = re.sub('\)','\)',tt) Example = re.sub(yy,take_off_brackets,Example) print(Example) break else: while True: if '*' in Example or '/' in Example: multiplication_and_division = re.search('(\d+\.\d+|\d+)(\*|\/)(-?\d+\.\d+|-?\d+)', Example) if multiplication_and_division: mul_and_div = multiplication_and_division.group() if '*' in mul_and_div: new_value = mul_and_div.split('*') #将mul_and_div以*隔开生成列表 replace = multiplication() Example = re.sub('(\d+\.\d+|\d+)\*(-?\d+\.\d+|-?\d+)',str(replace),Example,1) print(Example) continue elif '/' in mul_and_div: new_value = mul_and_div.split('/') replace = division() Example = re.sub('(\d+\.\d+|\d+)\/(-?\d+\.\d+|-?\d+)',str(replace),Example,1) print(Example) continue else: break else: break elif '+' in Example or '-' in Example: addition_and_subtraction = re.search('(\d+\.\d+|\d+)(\+|\-)(-?\d+\.\d+|-?\d+)', Example) if addition_and_subtraction: add_and_sub = addition_and_subtraction.group() if '+' in add_and_sub: if '++' in add_and_sub: new_value = add_and_sub.split('+', 1) replace = addition() Example = re.sub('(\d+\.\d+|\d+)\+(-?\d+\.\d+|-?\d+)', str(replace), Example, 1) print(Example) continue else: new_value = add_and_sub.split('+') replace = addition() Example = re.sub('(\d+\.\d+|\d+)\+(-?\d+\.\d+|-?\d+)', str(replace), Example, 1) print(Example) continue elif '-' in add_and_sub: if '--' in add_and_sub: new_value = add_and_sub.split('-', 1) replace = subtraction() Example = re.sub('(\d+\.\d+|\d+)\-(-?\d+\.\d+|-?\d+)', str(replace), Example, 1) print(Example) continue else: new_value = add_and_sub.split('-') replace = subtraction() Example = re.sub('(\d+\.\d+|\d+)\-(-?\d+\.\d+|-?\d+)', str(replace), Example, 1) print(Example) continue else: break else: break

 

--结束END--

本文标题: 简单的计算功能,还需要优化

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

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

猜你喜欢
  • 简单的计算功能,还需要优化
    #还有需要优化的#!/usr/bin/env python3 Example = '1-2*((60-30+(9-2*5/-3+7/3*99/4*2998+10*568/14)*(-40/5))-(-4*3)/(16-3*2))' im...
    99+
    2023-01-31
    还需要 简单 功能
  • JavaScript实现简单的计算器功能
    本文实例为大家分享了JavaScript实现简单计算器功能的具体代码,供大家参考,具体内容如下 具体要求如下: 实现代码: <html> <head>...
    99+
    2024-04-02
  • C++制作简单的计算器功能
    计算器这个基本都很熟悉,一个简单的计算器有加法,减法,乘法,除法这四种功能。 如下图 此处我此处逻辑如下,先判断输入的运算符符号,然后在判断输入的数字来进行一个计算。 #inclu...
    99+
    2024-04-02
  • python实现简单的计算器功能
    本文实例为大家分享了python实现简单计算器的具体代码,供大家参考,具体内容如下 今天学习到python中界面设计部分,常用的几种图形化界面库有:Jython、wxPython和t...
    99+
    2024-04-02
  • vue实现简单的计算器功能
    本文实例为大家分享了vue实现简单计算器的具体代码,供大家参考,具体内容如下 1.功能 1)  、实现加减乘除混合(包含小数点)2)、实现删除退格3)、实现内容重置 2.效...
    99+
    2024-04-02
  • C#实现简单的计算器功能
    本文实例为大家分享了C#实现简单的计算器功能的具体代码,供大家参考,具体内容如下 环境:VS2010及以上版本 1、建立个Window窗体应用 2、在工具箱里拖出两个TextBox...
    99+
    2024-04-02
  • C++实现简单的计算器功能
    用C++编写简单计算器,供大家参考,具体内容如下 限制: 1、只能使用分支语句与循环语句;2、不能使用数组和自定义函数;(即把自己当作只学到分支语句和循环语句的初学者) 计算器要求:...
    99+
    2024-04-02
  • 简单实现Android计算器功能
    自己写的安卓的计算器: 注:这个是在mac中开发的,如果要在windows的eclipse中运行可能会出现路径问题,解决办法从windows中已有的安卓工程根目录下复制一下cl...
    99+
    2022-06-06
    Android
  • pythontkinter实现简单计算器功能
    本文实例为大家分享了python tkinter实现简单计算器的具体代码,供大家参考,具体内容如下 效果图 直接上代码 import tkinter as tk input_nu...
    99+
    2024-04-02
  • python制作简单计算器功能
    本文实例为大家分享了python实现简单计算器功能的具体代码,供大家参考,具体内容如下 效果如图: 主要思路: 用列表保存按下的键,按下等于,转换为字符串,利用内置函数eval计算...
    99+
    2024-04-02
  • QT实现简单计算器功能
    本文实例为大家分享了QT实现简单计算器功能的具体代码,供大家参考,具体内容如下 效果图: 新建工程,创建类MainWindow,基类是QMainWindow,声明变量和函数、槽 m...
    99+
    2024-04-02
  • jQuery实现简单计算器功能
    本文实例为大家分享了jQuery实现简单计算器的具体代码,供大家参考,具体内容如下 要求: 代码: <html> <head>     <meta c...
    99+
    2024-04-02
  • iOS实现简单计算器功能
    本文实例为大家分享了iOS实现简单计算器功能的具体代码,供大家参考,具体内容如下 //  ZYAppDelegate.m //  Calculator // //  Created ...
    99+
    2024-04-02
  • JavaScript制作简单计算器功能
    本文实例为大家分享了JavaScript制作简单计算器的具体代码,供大家参考,具体内容如下 1. 任务要求 1)掌握数据的类型转换 2)学会获取文本框控件的数据以及给相应控件赋值 3...
    99+
    2024-04-02
  • C#实现简单的计算器小功能
    本文实例为大家分享了C#实现简单的计算器小功能的具体代码,供大家参考,具体内容如下 先来张效果图吧(5分钟写好,莫怪) 代码: 数字按钮绑定的是button_Clickd()方法 ...
    99+
    2024-04-02
  • C++实现简单的计算器小功能
    用C++编写简单计算器,供大家参考,具体内容如下 限制: 1、只能使用分支语句与循环语句;2、不能使用数组和自定义函数;(即把自己当作只学到分支语句和循环语句的初学者) 计算器要求:...
    99+
    2024-04-02
  • Android Studio实现简单计算器功能
    本文实例为大家分享了Android Studio实现简单计算器功能的具体代码,供大家参考,具体内容如下 程序步骤: (1)在布局文件定义一些计算器界面的文本框,按钮等组件。 (...
    99+
    2022-06-06
    Android Studio studio Android
  • 用Java实现简单计算器功能
    本项目为大家分享了Java实现简单计算器功能的具体代码,供大家参考,具体内容如下 一 项目说明 实训目的:掌握 Java GUI 开发中的布局管理和事件处理机制。 实训要求: (1...
    99+
    2024-04-02
  • JavaScript实现简单计算器小功能
    本文实例为大家分享了JavaScript实现简单计算器的具体代码,供大家参考,具体内容如下 此例为简单的计算器: 代码示例: <!DOCTYPE html> <h...
    99+
    2024-04-02
  • iOS实现简单计算器小功能
    本文实例为大家分享了iOS实现简单计算器小功能的具体代码,供大家参考,具体内容如下 SimpleCaculatorViewController.h // //  SimpleCac...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作