使用python正規表示式來寫一個計算器方法
#!/usr/bin/evn python
import re
def deal_negative_issue(calc_list#):
new#_calc_list
#): new
#_calc_list##」 =[] #定義一個新的空白列表,後面篩選完成後將資料放入新列表中 for index,item in enumerate(calc_list):
n# # item.strip().
endswith("*") or item.strip().endswith("/"): #挑選出以乘號或除號結尾的字串
new_calc_list.append("%s-%s"%(calc_list[index],calc_list[index+1])) # 處理類似 "*" or "/") in item: #找出清單中的有乘除的選項,這種寫法我試了好像只匹配*在,單獨40/5這種匹配不出來
elif ("/ ") in item or ("*") in item:
print
(item)
c list)
return
new_calc_list
def deal_unusual_issue(formula):
formula = formula.replace("++","+")## formula = formula.replace("++","+")## place +-", "-")
formula = formula.replace("-+", "-")
formula = formula.replace("--", "+")
.replace("- -", "+") return formula
# def addition_and_subtraction(formula):
# sub_calc_listampion= re.split("# sub_calc_list] sub_operator_list = re.findall("[+-]",formula)# print(type(sub_calc_list), sub_operator_list)
1 for for片calc_list ):# if totle_res: #sub_res為真,表示這不是第一次循環
# 判斷到底要加法或減法
# totle_res +=
float
(i)
#
float
(i)
totle_res -= float(i)
# else:
# sub_res = float(i)
# print(totle_res)
def = re.split("[+-]",formula) #透過+-符號將各個乘除運算分隔出來
calc_list = deal_negative_issue(calc_list)#cforlist 2 ## sub_calc_list = re.split("[*/]",item)
sub_operator_list = re.findall(” (sub_calc_list,sub_operator_list)
sub_res = None
for index,i in enumerate(sub_calc_list):### #if sub_operator_list[index-1]=="*": #透過sub_operator_list中的index判斷到底是加法或減法,
else:
sub_res /= float(i )
else:
else:
sub_res = float(i)
formula.replace(item,str(sub_res) )
formula = deal_unusual_issue(formula)
print(formula)
# totle_operator_list = re.findall("[+-]", formula) # 將乘號除號透過列表分隔出來
print(totle_calc_list, totle_operator_list)
totle_calc_list):
if totle_res: #sub_res為真,表示這不是第一次循環
if tle_operator_list[index-1] 到底對加法或是任何加法的減法
totle_res += float(item)
else:
else:
totle_res = float(item)
# return formula
print( "[結果]=", totle_res)
return totle_res
def calc(formula):
parentheses_flag = True## 1/updc_res #o_o_res #
m = re.search("\([^()]*\)",formula) #找出最底層的括號,一個一個找
# print(m)## # # print(type(m.group()))
subformula = m.group().strip( (subformula)
formula = formula.replace(m.group(),str(subres))
else:
print("沒## parentheses_flag = False
if name == 'main':
res = calc("1 -##':
res = calc("1 -##':
res = calc("1 -##':
201300(90130(9095 -3 + 7 /3*99/4*2998 +10 * 568/14 ) * (40/5)) - (4*3)/ (16-3*2) )")
(4*3)/ (16-3*2) )")## ("2 * (40/5)")
#備註:-40/5功能沒有實現
以上是使用python正規表示式來寫一個計算器方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Python正規表示式是一種強大的匹配工具,它可以幫助我們在Word檔案處理中快速識別並取代文字、樣式和格式。本文將介紹如何使用Python正規表示式進行Word檔案處理。一、安裝Python-docx庫Python-docx是Python中處理Word文件的功能庫,使用它可以快速讀取、修改、建立和保存Word文件。在使用Python-docx之前,需要保證

Python正規表示式是一種強大的工具,可幫助我們在文字資料中進行精細、高效的匹配和搜尋。在數字和金額的處理中,正規表示式也極為有用,可以準確地找到並提取其中的數字和金額資訊。本文將介紹如何使用Python正規表示式處理數字和金額,幫助讀者更好地應對實際的資料處理任務。一、處理數字1.匹配整數和浮點數正規表示式中,要匹配整數和浮點數,可以使用d+進行匹配,其

在容器編排中,我們常常需要對一些資訊進行篩選、配對和替換等操作。 Python提供了正規表示式這強大的工具,可以幫助我們完成這些操作。本文將介紹如何使用Python正規表示式進行容器編排,包括正規基礎知識、Pythonre模組的使用方法以及一些常見的正規表示式應用。一、正規表示式基礎知識正規表示式(RegularExpression)是指一種文字模式,用

Python正規表示式是一種強大的工具,可用於處理文字資料。在自然語言處理中,單字分割是一個重要的任務,它可以將一段文字分成單字。在Python中,我們可以使用正規表示式來完成單字分割的任務。以下將以Python3為例,介紹如何使用正規表示式進行單字分割。導入re模組re模組是Python內建的正規表示式模組,首先需要導入此模組。 importre定義文

在日常編碼中,我們經常需要對程式碼進行修改和重構,以增加程式碼的可讀性和可維護性。其中一個重要的工具就是正規表示式。本篇文章將介紹如何使用Python正規表示式進行程式碼重構的一些常用技巧。一、尋找和取代正規表示式最常用的功能之一是尋找和取代。假設我們需要將程式碼中所有的print語句替換成logging語句。我們可以使用以下正規表示式來尋找:prints*((.

Python是一種廣泛使用的高階程式語言,擁有豐富的函式庫和工具,讓內容擷取變得更加簡單和有效率。其中,正規表示式是一種非常重要的工具,Python提供了re模組來使用正規表示式進行內容擷取。本文將為您介紹如何使用Python正規表示式進行內容擷取的具體步驟。一、了解正規表示式的基本語法在使用Python正規表示式進行內容擷取之前,首先需要了解正規表示式的基本語

Python正則表達式處理LaTeX多層括號,構建多維字典許多LaTeX...

Python正規表示式是一種基於模式匹配的字串處理工具,它可以幫助我們快速有效地從文字中提取所需資訊。在資料結構和演算法中,正規表示式可以用來實現文字匹配、替換、分割等功能,為我們的程式設計提供更強大的支援。本文將介紹如何使用Python正規表示式進行資料結構與演算法。一、正規表示式的基礎知識在開始之前,先了解正規表示式的一些基礎知識:字元集:用方括號表示,
