PTA求前缀表达式的值python求解
7-41 求前綴表達式的值
分數?25
算術表達式有前綴表示法、中綴表示法和后綴表示法等形式。前綴表達式指二元運算符位于兩個運算數之前,例如2+3*(7-4)+8/4的前綴表達式是:+ + 2 * 3 - 7 4 / 8 4。請設計程序計算前綴表達式的結果值。
輸入格式:
輸入在一行內給出不超過30個字符的前綴表達式,只包含+、-、*、/以及運算數,不同對象(運算數、運算符號)之間以空格分隔。
輸出格式:
輸出前綴表達式的運算結果,保留小數點后1位,或錯誤信息ERROR。
輸入樣例:
+ + 2 * 3 - 7 4 / 8 4輸出樣例:
13.0s = list(input().split())
post = []
i = len(s)-1
try:
? ? while i >=0:
? ? ? ? if s[i] == '*':
? ? ? ? ? ? a = post.pop()
? ? ? ? ? ? b = post.pop()
? ? ? ? ? ? post.append(a*b)
? ? ? ? elif s[i] == '/':
? ? ? ? ? ? a = post.pop()
? ? ? ? ? ? b = post.pop()
? ? ? ? ? ? post.append(a/b)
? ? ? ? elif s[i] == '+':
? ? ? ? ? ? a = post.pop()
? ? ? ? ? ? b = post.pop()
? ? ? ? ? ? post.append(a+b)
? ? ? ? elif s[i] == '-':
? ? ? ? ? ? a = post.pop()
? ? ? ? ? ? b = post.pop()
? ? ? ? ? ? post.append(a-b)
? ? ? ? else:
? ? ? ? ? ? post.append(int(s[i]))
? ? ? ? i -= 1
? ? print("%.1f"%post[0])
except:
? ? print("ERROR")
總結
以上是生活随笔為你收集整理的PTA求前缀表达式的值python求解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows vc2017 环境安装p
- 下一篇: nng 服务器底层给管道设置安全描述符,