Python華為筆試題字尾表示式求值

2021-10-07 08:27:21 字數 1049 閱讀 3400

2023年試題

第三題:計算後序表示式,輸入後序表示式字串,輸出表示式計算的結果(其中a~f表示10~15)。例如:

案例輸入

輸出案例一

32+5-

3+2-5

案例二a5-3+

10-5+3

1. 讀取輸入結果字串str

2. 將輸入字串轉換為字元陣列char

3. 判斷每個字元

如果是數字,則直接入棧:arr[i] - 『0』

如果是大寫字元,則轉換之**棧:arr[i] - 『a』

如果是運算符號:則彈出兩個數值棧,然後根據符號計算結果**棧

def domath(op, op1, op2):

if op == "*":

return op1 * op2

elif op == "/":

return op1 / op2

elif op == "+":

return op1 + op2

else:

return op1 - op2

def postfixeval(postfixexpr):

operandstack =

# tokenlist = postfixexpr.split()

tokenlist = list(postfixexpr)

for token in tokenlist:

if token in "0123456789":

elif token in "abcdef":

else:

operand2 = operandstack.pop() # 運算元2

operand1 = operandstack.pop() # 運算元1

result = domath(token, operand1, operand2)

return operandstack.pop()

if __name__ == "__main__":

print(postfixeval('32+5-'))

python 集合 華為筆試題

華為機測題 明明想在學校中請一些同學一起做一項問卷調查,為了實驗的客觀性 他先用計算機生成了n個1 1000之間的隨機整數 n 1000 n是使用者輸入的,對於 其中重複的數字,只保留乙個,把其餘相同的數字去掉,不同的數對應著不同的學生的學號,然後再把這些 數從小到大排序,按照排好的順序去找同學做調...

華為筆試題

int a nsize 其中隱藏著若干 0,其餘非 0整數,寫乙個函式 int func int a,int nsize 使a 把0移至後面,非 0整數移至 陣列前面並保持有序,返回值為原資料中第乙個元素為0 的下標。盡可能不使用輔助空間且考慮效率及異常問題,注釋規範且給出設計思路 include ...

華為筆試題

某軟體需要實現建議的cd key演算法,輸入3個正整數,以空格隔開,根據這3個整數生成cd key字串,輸出格式 x x x xxyy,包括16個字元,以短劃線分開,其中,cd key最後兩個yy是用於cd key的自校驗,確保cd key本身是合法的。cdkey使用的字元表23456789abcd...