日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

day21 计算器作业

發(fā)布時間:2025/4/16 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 day21 计算器作业 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1 import re 2 3 express = '1 - 2 * ( ( 6 0 -3 0 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) )' 4 # 去掉所有的空格 5 # 找括號,先找括號里面沒有括號的最里面的括號 6 # 先算括號里的乘除,再算括號里的加減 7 8 # 計算表達式 9 def dealwith(express): 10 if "+-" in express:express.replace("+-","-") 11 if "+-" in express:express.replace("--","+") 12 return express 13 14 def cal_exp_son(exp_son): 15 # 只用來計算原子型表達式,最小的表達式 16 if "/" in exp_son: 17 a,b = exp_son.split("/") 18 return str(float(a)/float(b)) 19 if "*" in exp_son: 20 a,b = exp_son.split("*") 21 return str(float(a) * float(b)) 22 23 def cal_express_no_bracket(exp): 24 # 計算沒有括號的表達式 25 # exp 為未經(jīng)過處理的最內(nèi)層的帶括號的表達式 26 exp = exp.strip("()") 27 print(exp) 28 # 先乘除,后加減 29 while True: 30 ret = re.search("\d+\.?\d*[*/]-?\d+\.?\d*",exp) 31 if ret : 32 exp_son = ret.group() 33 ret = cal_exp_son(exp_son) 34 exp = exp.replace(exp_son,ret) 35 36 # 將空格去除 37 new_express = re.sub(" ","",express) 38 39 #提取括號里面沒有其他括號的的表達式 40 while True: 41 ret = re.search("\([^()]+\)",new_express) 42 if ret : 43 express_no_bracket = ret.group() 44 ret = cal_express_no_bracket(express_no_bracket) 45 new_express= new_express.replace(express_no_bracket,ret) 46 print(new_express) 47 new_express = dealwith(new_express) 48 print(new_express) 49 else: 50 print("表達式已經(jīng)沒有括號了",new_express) 51 break

?

轉(zhuǎn)載于:https://www.cnblogs.com/shijieli/p/9714600.html

總結

以上是生活随笔為你收集整理的day21 计算器作业的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。