本文实例讲述了Python正则表达式实现简易计算器功能。分享给大家供大家参考,具体如下:

需求:使用正则表达式完成一个简易计算器。

功能:能够计算简单的表达式。

如:1*2*((1+2)/(2+3)+1)*5.1-3+2**2

import re

class SimpleCalc(object):

# 表达式检测

def check(self,exp):

# 合法字符检测

res = re.findall(r"[^\d\+\-\*/\(\)\.]", exp)

print(res)

if res:

print("表达式不正确!!!")

print("输入了非法字符:", res)

return False

# 括号检测

res = re.findall(r"(?:[\d\)]\()|(?:\([\*/\)])|(?:[\-\+\*/]\))",exp)

if res :

print("表达式不正确!!!")

print("括号使用有误:", res)

return False

res = re.findall(r"\(|\)", exp)

if res.count('(') != res.count(')'):

print("表达式不正确!!!")

print("括号不匹配:", res)

return False

# 运算符检测

res = re.findall(r"[\-\+/]{2,}|\*{3,}", exp)

if res:

print("表达式不正确!!!")

print("运算符有误:", res)

return False

# 小数点位置检测

res = re.findall(r"(^(?<=[0-9])?\.\d+)|(\.\d*?\.)|\.(\D|$)", exp)

if res:

print("表达式不正确!!!")

print("小数点位置有误:", res)

return False

return True

def main():

simpleCalc = SimpleCalc()

while True:

exp = input("请输入一个正确的表达式(退出请输入t):\n")

if exp == 't':

break

if simpleCalc.check(exp):

print('=',eval(exp))

else:

continue

if __name__ == '__main__':

main()

输出:

请输入一个正确的表达式(退出请输入t):

1*2*((1+2)/(2+3)+1)*5.1-3+2**2

[]

= 17.32

请输入一个正确的表达式(退出请输入t):

12+a

['a']

表达式不正确!!!

输入了非法字符: ['a']

请输入一个正确的表达式(退出请输入t):

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

希望本文所述对大家Python程序设计有所帮助。

python表达式计算器_Python正则表达式实现简易计算器功能示例相关推荐

  1. pythontkinter做计算器_Python Tkinter实现简易计算器功能

    闲暇时间用tkinter写了个简易计算器,可实现简单的加减乘除运算,用了Button和Entry2个控件,下面是代码,只是简单的用了偏函数partial,因为那么多button的大部分参数都是一样的, ...

  2. python操作系统启动_Python实现查看系统启动项功能示例

    本文实例讲述了Python实现查看系统启动项功能.分享给大家供大家参考,具体如下: 一.代码 # -*- coding:utf-8 -*- #! python3 from win32api impor ...

  3. pythongui做计算器_python GUI之简易计算器

    利用内置的tkinter/Tkinter库可实现基本的GUI程序. 示例图 源代码 #coding=utf8 """ @author:kinegratii "& ...

  4. python编程计算器_Python设计实现的计算器功能完整实例

    本文实例讲述了Python设计实现的计算器功能.分享给大家供大家参考,具体如下: 通过利用PYTHON 设计处理计算器的功能如: 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/ ...

  5. python课程设计计算器_Python设计实现的计算器功能完整实例

    本文实例讲述了Python设计实现的计算器功能.分享给大家供大家参考,具体如下: 通过利用PYTHON 设计处理计算器的功能如: 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/ ...

  6. 基于Python中tkinter做的可视化简易计算器(代码有注释,利于理解)

    Python可视化简易计算器 基于GUI库:tkinter做的一个简单计算器 开发软件 Pycharm2019.3 代码如下:(有对代码的简单分析,易于理解) import re import tki ...

  7. Python课程设计,设计一个简易计算器

    在Python课程设计中,设计一个简易计算器,根据课本内容所写 import tkinter import tkinter.messagebox import reroot = tkinter.Tk( ...

  8. java awt 简单计算器,JAVA Swing 开发简易计算器(上)

    开发一个简易的计算器我们主要分为两大部分:图形界面设计与具体功能实现.这篇文章讲图形界面设计,下篇讲具体功能实现. 代码下载:https://github.com/taifus/Java_Calcul ...

  9. android计算器弹窗,android实现简易计算器

    本文实例为大家分享了android实现简易计算器展示的具体代码,供大家参考,具体内容如下 效果图: 一.如图,首先布局计算器主页显示 activity_main.xml xmlns:tools=&qu ...

最新文章

  1. Java学习笔记32
  2. 第十周项目实践 哈夫曼树的建立哈夫曼编码
  3. 百度地图与所托瑞安达成深度合作 共同推进商用车安全智能驾驶领域创新
  4. 使用gdal和java对TIF格式正射影像进行拉普拉斯锐化
  5. ansible常用基础命令整合
  6. SSM之Mybatis框架初步
  7. 动态属性 的简单思考
  8. php经典排序算法,PHP中四大经典排序算法
  9. html5 embed 不自动播放,html5自动播放与 iframe 你管videoautoplay=1不工作?_html5_开发99编程知识库...
  10. Ansys Speos | 助力汽车按键开关设计与优化
  11. cv2-drawline
  12. 结构梁配筋最牛插件_Revit结构出图案例分享
  13. java如何设置直线的宽度_设置线条的宽度lineWidth
  14. fir.im Weekly - 如何打造 Github 「爆款」开源项目
  15. 项目管理理论中关于软件项目外包采购管理的探讨
  16. 如何在局域网中查看其他电脑上的文件
  17. adb连接各种模拟器
  18. Process exited after 8.127 seconds with return value 3221226356,求解决方案!
  19. springboot+vue+java廉租房屋维修申请系统
  20. 桌宠启动不了,提示日文java6报错等,解决方案

热门文章

  1. 影像组学视频学习笔记(7)-特征筛选之LASSO回归(代码)、Li‘s have a solution and plan.
  2. 熊出没之伐木机器人_熊出没第一首富之争:李老板真的是第一吗?难道不是他第一?...
  3. r语言 图形一览_R语言之图形概览
  4. Grafana常用的监控
  5. 嵌入式开发有年龄限制吗_2021年考监理工程师有年龄限制吗?女生可以考监理工程师吗?...
  6. 初中教师资格证计算机试讲教案模板,初中数学教师资格证面试教案模板: 《投影》...
  7. 基于.Net Core开发现代化Web应用程序系列课程和文章
  8. mongodb php linux,mongodb 及PHP的MongoDB 扩展安装
  9. b temia 外骨骼机器人_只能提高工作效率?现代外骨骼正在突破重重壁垒,走向融合的未来...
  10. 性能压测服务器502报错,一种交易系统的性能测试方法及相关服务器