最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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á)式不正確?。。?br /> 輸入了非法字符: ['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入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

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

相關(guān)文章

  • Python數(shù)據(jù)類型之String字符串實(shí)例詳解

    Python數(shù)據(jù)類型之String字符串實(shí)例詳解

    這篇文章主要介紹了Python數(shù)據(jù)類型之String字符串,結(jié)合實(shí)例形式詳細(xì)講解了Python字符串的概念、定義、連接、格式化、轉(zhuǎn)換、查找、截取、判斷等常見操作技巧,需要的朋友可以參考下
    2019-05-05
  • 15款Python編輯器的優(yōu)缺點(diǎn),別再問我“選什么編輯器”啦

    15款Python編輯器的優(yōu)缺點(diǎn),別再問我“選什么編輯器”啦

    這篇文章主要介紹了15款Python編輯器的優(yōu)缺點(diǎn),別再問我“選什么編輯器”啦,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2020-10-10
  • PyTorch兩種安裝方法

    PyTorch兩種安裝方法

    這篇文章主要介紹了PyTorch兩種安裝方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • PyCharm vs VSCode,作為python開發(fā)者,你更傾向哪種IDE呢?

    PyCharm vs VSCode,作為python開發(fā)者,你更傾向哪種IDE呢?

    這篇文章主要介紹了PyCharm和vscode作為python ide的優(yōu)劣,幫助你選擇適合自己的ide,感興趣的朋友可以了解下
    2020-08-08
  • 詳解python執(zhí)行shell腳本創(chuàng)建用戶及相關(guān)操作

    詳解python執(zhí)行shell腳本創(chuàng)建用戶及相關(guān)操作

    這篇文章主要介紹了python執(zhí)行shell腳本創(chuàng)建用戶及相關(guān)操作,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Django處理多用戶類型的方法介紹

    Django處理多用戶類型的方法介紹

    這篇文章主要給大家介紹了關(guān)于Django處理多用戶類型的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Django具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Keras多線程機(jī)制與flask多線程沖突的解決方案

    Keras多線程機(jī)制與flask多線程沖突的解決方案

    這篇文章主要介紹了Keras多線程機(jī)制與flask多線程沖突的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • pytorch sampler對(duì)數(shù)據(jù)進(jìn)行采樣的實(shí)現(xiàn)

    pytorch sampler對(duì)數(shù)據(jù)進(jìn)行采樣的實(shí)現(xiàn)

    今天小編就為大家分享一篇pytorch sampler對(duì)數(shù)據(jù)進(jìn)行采樣的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 使用requests庫(kù)制作Python爬蟲

    使用requests庫(kù)制作Python爬蟲

    Requests是用python語(yǔ)言基于urllib編寫的,采用的是Apache2 Licensed開源協(xié)議的HTTP庫(kù),Requests它會(huì)比urllib更加方便,可以節(jié)約我們大量的工作。一句話,requests是python實(shí)現(xiàn)的最簡(jiǎn)單易用的HTTP庫(kù),建議爬蟲使用requests庫(kù)。
    2018-03-03
  • MacBook m1芯片采用miniforge安裝python3.9的方法示例

    MacBook m1芯片采用miniforge安裝python3.9的方法示例

    這篇文章主要介紹了MacBook m1芯片采用miniforge安裝python3.9的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04

最新評(píng)論

富平县| 石门县| 盘山县| 商水县| 天等县| 杭州市| 施甸县| 丹寨县| 嵩明县| 泾阳县| 英德市| 徐州市| 高台县| 和平区| 蓝山县| 平安县| 海门市| 长沙市| 丽江市| 浑源县| 延长县| 旬阳县| 河间市| 如东县| 馆陶县| 景东| 沙河市| 娄烦县| 利津县| 日土县| 乌恰县| 应用必备| 四平市| 常熟市| 邵阳市| 焦作市| 通榆县| 濮阳市| 普安县| 集安市| 南雄市|