欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python正則表達(dá)式實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能示例

 更新時(shí)間:2019年05月07日 09:16:32   作者:微信1257309054  
這篇文章主要介紹了Python正則表達(dá)式實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能,涉及Python正則判定及數(shù)值計(jì)算相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Python正則表達(dá)式實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能。分享給大家供大家參考,具體如下:

需求:使用正則表達(dá)式完成一個(gè)簡(jiǎn)易計(jì)算器。

功能:能夠計(jì)算簡(jiǎn)單的表達(dá)式。

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

import re
class SimpleCalc(object):
  # 表達(dá)式檢測(cè)
  def check(self,exp):
    # 合法字符檢測(cè)
    res = re.findall(r"[^\d\+\-\*/\(\)\.]", exp)
    print(res)
    if res:
      print("表達(dá)式不正確?。?!")
      print("輸入了非法字符:", res)
      return False
    # 括號(hào)檢測(cè)
    res = re.findall(r"(?:[\d\)]\()|(?:\([\*/\)])|(?:[\-\+\*/]\))",exp)
    if res :
      print("表達(dá)式不正確?。?!")
      print("括號(hào)使用有誤:", res)
      return False
    res = re.findall(r"\(|\)", exp)
    if res.count('(') != res.count(')'):
      print("表達(dá)式不正確?。?!")
      print("括號(hào)不匹配:", res)
      return False
    # 運(yùn)算符檢測(cè)
    res = re.findall(r"[\-\+/]{2,}|\*{3,}", exp)
    if res:
      print("表達(dá)式不正確?。?!")
      print("運(yùn)算符有誤:", res)
      return False
    # 小數(shù)點(diǎn)位置檢測(cè)
    res = re.findall(r"(^(?<=[0-9])?\.\d+)|(\.\d*?\.)|\.(\D|$)", exp)
    if res:
      print("表達(dá)式不正確!??!")
      print("小數(shù)點(diǎn)位置有誤:", res)
      return False
    return True
def main():
  simpleCalc = SimpleCalc()
  while True:
    exp = input("請(qǐng)輸入一個(gè)正確的表達(dá)式(退出請(qǐng)輸入t):\n")
    if exp == 't':
      break
    if simpleCalc.check(exp):
      print('=',eval(exp))
    else:
      continue
if __name__ == '__main__':
  main()

輸出:

請(qǐng)輸入一個(gè)正確的表達(dá)式(退出請(qǐng)輸入t):
1*2*((1+2)/(2+3)+1)*5.1-3+2**2
[]
= 17.32
請(qǐng)輸入一個(gè)正確的表達(dá)式(退出請(qǐng)輸入t):
12+a
['a']
表達(dá)式不正確?。?!
輸入了非法字符: ['a']
請(qǐng)輸入一個(gè)正確的表達(dá)式(退出請(qǐng)輸入t):

PS:這里再為大家提供2款非常方便的正則表達(dá)式工具供大家參考使用:

JavaScript正則表達(dá)式在線測(cè)試工具:
http://tools.jb51.net/regex/javascript

正則表達(dá)式在線生成工具:
http://tools.jb51.net/regex/create_reg

更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python正則表達(dá)式用法總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門(mén)與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 使用Python的Flask框架表單插件Flask-WTF實(shí)現(xiàn)Web登錄驗(yàn)證

    使用Python的Flask框架表單插件Flask-WTF實(shí)現(xiàn)Web登錄驗(yàn)證

    Flask處理表單除了本身的WTForms包,使用Flask-WTF擴(kuò)展來(lái)增強(qiáng)表單功能也是很多開(kāi)發(fā)者的選擇,這里我們就來(lái)講解如何使用Python的Flask框架表單插件Flask-WTF實(shí)現(xiàn)Web登錄驗(yàn)證
    2016-07-07
  • Python?Pyecharts繪制象形柱圖

    Python?Pyecharts繪制象形柱圖

    echarts是百度開(kāi)源的一個(gè)數(shù)據(jù)可視化JS庫(kù),主要用于數(shù)據(jù)可視化。pyecharts是一個(gè)用于生成Echarts圖表的類庫(kù)。實(shí)際上就是Echarts與Python的對(duì)接。本文將利用pyecharts庫(kù)繪制象形柱狀圖,感興趣的可以了解一下
    2022-01-01
  • 這十大Python庫(kù)你真應(yīng)該知道

    這十大Python庫(kù)你真應(yīng)該知道

    這篇文章主要為大家詳細(xì)介紹了十大Python庫(kù),學(xué)習(xí)數(shù)據(jù)分析應(yīng)該弄清楚該學(xué)習(xí)什么技能,該使用哪種工具,本文具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Python調(diào)用win10toast框架實(shí)現(xiàn)定時(shí)調(diào)起系統(tǒng)通知

    Python調(diào)用win10toast框架實(shí)現(xiàn)定時(shí)調(diào)起系統(tǒng)通知

    win10toast是一個(gè)windows通知的出發(fā)框架,使用它可以輕松的調(diào)起系統(tǒng)通知。通過(guò)它可以很方便的做一個(gè)定時(shí)通知的功能應(yīng)用。本文將調(diào)用win10toast實(shí)現(xiàn)定時(shí)調(diào)起系統(tǒng)通知功能,需要的可以參考一下
    2022-01-01
  • Django對(duì)接支付寶實(shí)現(xiàn)支付寶充值金幣功能示例

    Django對(duì)接支付寶實(shí)現(xiàn)支付寶充值金幣功能示例

    今天小編就為大家分享一篇Django對(duì)接支付寶實(shí)現(xiàn)支付寶充值金幣功能示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • Python中bytes和str的區(qū)別與聯(lián)系詳解

    Python中bytes和str的區(qū)別與聯(lián)系詳解

    Python3最重要的新特性之一是對(duì)字符串和二進(jìn)制數(shù)據(jù)流做了明確的區(qū),下面這篇文章主要給大家介紹了關(guān)于Python中bytes和str區(qū)別與聯(lián)系的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • 深入學(xué)習(xí)Python+Opencv常用四種圖像處理操作

    深入學(xué)習(xí)Python+Opencv常用四種圖像處理操作

    本文主要介紹了深入學(xué)習(xí)Pytho+OpenCV實(shí)現(xiàn)的基本圖像處理操作,例如:改變圖像大小,圖片色彩轉(zhuǎn)換,圖片模糊等,代碼具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以關(guān)注一下
    2021-11-11
  • Python遠(yuǎn)程桌面協(xié)議RDPY安裝使用介紹

    Python遠(yuǎn)程桌面協(xié)議RDPY安裝使用介紹

    這篇文章主要介紹了Python遠(yuǎn)程桌面協(xié)議RDPY安裝使用介紹,本文講解了RDPY的安裝、RDPY的簡(jiǎn)單使用兩部份內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • Python實(shí)現(xiàn)對(duì)文件類型的獲取方法

    Python實(shí)現(xiàn)對(duì)文件類型的獲取方法

    在工作中時(shí)常需要對(duì)文件進(jìn)行各種處理,如上傳下載,壓縮解壓等,需要獲取文件的類型,所以本文給大家介紹了使用Python實(shí)現(xiàn)對(duì)文件類型的獲取方法,文中通過(guò)代碼示例講解的非常詳細(xì),需要的朋友可以參考下
    2024-08-08
  • python中os模塊詳解

    python中os模塊詳解

    os模塊提供了多數(shù)操作系統(tǒng)的功能接口函數(shù).當(dāng)os模塊被導(dǎo)入后,它會(huì)自適應(yīng)于不同的操作系統(tǒng)平臺(tái),如posix或NT系統(tǒng)平臺(tái),os模塊會(huì)根據(jù)不同的平臺(tái)進(jìn)行相應(yīng)的操作.本節(jié)內(nèi)容將對(duì)os模塊提供的函數(shù)進(jìn)行詳細(xì)的解讀.
    2016-10-10

最新評(píng)論