1. 程式人生 > >使用python實現計算器功能

使用python實現計算器功能

import 運算符 while 正則表達 技術 整數 body 功能 計算器

# 實現帶括號的復雜加減乘除優先級運算
# 主要運用到了正則表達式、while循環、列表的幾種方法等。
# 為實現要求的運算功能該代碼共分為兩個部分,一個是實現不帶括號的加減乘除運算的函數add_sub_mul_div
# 另外一個是一個循環加6行代碼來不斷去掉最內層括號並完成括號內表達式,該部分將不斷調用函數add_sub_mul_div
# 實例 a = ‘1-2*(3+4/((5-6*7)+8)*9/10-(11+12)*13*14/15/(16-17)/18/19)*20‘
# 運算結果 a = -146.67385897694427
# 初學python代碼可能繁雜...會虛心接受建議並不斷學習!ps:上午用了四個小時寫加減乘除並不斷實例驗證...
# 下午兩個小時來寫去括號的功能並調用加減乘除驗證實例,每次寫完以為對了運行卻出現了各種錯誤...
# 如正則負整數的處理,以及開始寫函數時乘除運算從左向右沒有考慮到...等等

# 代碼正文:

import re
a = ‘1-2*(3+4/((5-6*7)+8)*9/10-(11+12)*13*14/15/(16-17)/18/19)*20‘
b = re.findall(‘([\d\.]+|-[\d\.]+|\+|/|\*|-|\(|\))‘, a) # 將字符串中的正數、負數、加減乘除運算符分別單個的在列表中顯示

# 由於直接復制過來不帶格式太亂了,就直接截圖粘貼了。

技術分享圖片

技術分享圖片

技術分享圖片

使用python實現計算器功能