計算字串對應表示式的結果

2021-10-09 08:10:05 字數 1441 閱讀 9122

問題描述

以字串的形式給定乙個表示式,表示式中包含一位的數字,加號運算子+,減(負)號運算子-以及括號(),輸出這個運算子按照四則運算規則運算之後的結果,假定所有給定的表示式都是規範的。

測試樣例

輸入: '- (3 + ( 9 - 1 ) )'

輸出: -11

參考**

class

solution

:def

calculatorhelper

(self, expression, index =0)

: result =

0 operation =

'+'while index <

len(expression)

: char = expression[index]

if char.isdigit():

if operation ==

'+':

result +=

int(char)

else

: result -=

int(char)

elif char in

('+'

,'-'):

operation = char

elif char ==

'(':

currentresult, index = self.calculatorhelper(expression, index +1)

if operation ==

'+':

result += currentresult

else

: result -= currentresult

elif char ==

')':

return

(result, index)

index +=

1return

(result, index)

defcalculator

(self, expression)

:return self.calculatorhelper(expression)[0

]# test program

expression =

'- (3 + ( 9 - 1 ) )'

print

(solution(

).calculator(expression)

)# -11

如何計算字串表示式

using system using system.codedom using system.codedom.piler using microsoft.csharp using system.reflection public class eval r n public object getval...

計算字串表示式的值

舉個簡單的例子,平常我們寫的數學表示式a b,就是一種中綴表示式,寫成字尾表示式就是ab 再舉乙個複雜的例子,中綴表示式 a b c a b e的逆波蘭式是ab c ab e 1 首先,需要分配1個棧,用於臨時儲存運算子,此運算子在棧內遵循越往棧頂優先順序越高的原則 2 從中綴式的左端開始逐個讀取字...

字串表示式計算C 程式設計

字串表示式計算c 程式設計 在程式設計應用程式過程中,有時需要字串表示式的值。如字串 23 56 102 100 36 24 8 6 結果 191。根據資料結構棧的應用介紹,通過把表示式由中序式轉換成後序式,再用棧來進行計算。如上述字串表示式 23 56 102 100 36 24 8 6 轉換為後...