91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

通過Python正則表達式實現簡單四則運算

發布時間:2020-07-24 09:17:23 來源:網絡 閱讀:900 作者:wywwfj 欄目:編程語言
python練習作業...
import math, re
string = "1.5 - 2.4 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) )"
string = ''.join(string.split()) #字符串去空格
#字符串格式化
def stringFormat(string):
    string = string.replace('--', '+')
    string = string.replace('-', '+-')
    string = string.replace('*+-', '*-')
    string = string.replace('/+-', '/-')
    return string

#不含括號字符串公式計算函數
def stringCalculate(string):
    fResult = 0.0  # 浮點型計算結果
    tmpListAdd = list()  # 加減法列表
    #公式數據拆分
    strList = stringFormat(string).split('+')
    #第一步先根據加法將字符串分段,如果分段內含有乘除法,則進入乘除法分段計算,否則轉化成浮點數,存入列表
    for inLoopAdd in strList:  #第一層循環---加減法分割
        #乘法模塊
        if'*' in inLoopAdd or '/' in inLoopAdd:
            tmpListMulti = list()  #乘法列表
            for inloopMulti in inLoopAdd.split('*'):   #第二層----乘法分割
                #除法模塊
                if '/' in inloopMulti:
                    divList = inloopMulti.split('/')
                    fDivResult = float(divList[0])
                    for inloopDiv in range(len(divList)-1):  #第三層-----內層除法計算
                        fDivResult /= float(divList[inloopDiv+1])
                        tmpListMulti.append(fDivResult)
                else:
                    tmpListMulti.append(float(inloopMulti))
            fMultiResult = 1
            for inloop in tmpListMulti:
                fMultiResult *= inloop
            tmpListAdd.append(fMultiResult)
        elif inLoopAdd:
            tmpListAdd.append(float(inLoopAdd))
    #將各分段結果累加
    for fAddResult in tmpListAdd:
        fResult += fAddResult
    return str(fResult)

#去括號
while('(' in string):
        temString = re.search('\([0-9+\-*./]*\)', string).group()
        string = string.replace(temString, stringCalculate(temString[1:-1]))

print(stringCalculate(string))
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

饶平县| 宝清县| 方城县| 庆城县| 黔西| 海淀区| 桐梓县| 革吉县| 苍梧县| 石阡县| 威宁| 丘北县| 上犹县| 许昌县| 阳曲县| 濮阳县| 山阳县| 沽源县| 桓台县| 梓潼县| 镇康县| 汉源县| 张掖市| 综艺| 逊克县| 包头市| 北宁市| 朝阳县| 乌拉特前旗| 怀来县| 葫芦岛市| 仙居县| 灵丘县| 两当县| 湖北省| 丹东市| 库伦旗| 兴安盟| 城口县| 营口市| 陇南市|