# P1449 后缀表达式
## 题目描述
所谓后缀表达式是指这样的一个表达式:式中不再引用括号,运算符号放在两个运算对象之后,所有计算按运算符号出现的顺序,严格地由左而右新进行(不用考虑运算符的优先级)。
本题中运算符仅包含 {+-*/}。保证对于 {/}运算除数不为 0。特别地,其中 {/}运算的结果需要**向 0 取整**(即与 C++ `/` 运算的规则一致)。
如{3*(5-2)+7}对应的后缀表达式为:{3.5.2.-*7.+@}。在该式中,`@` 为表达式的结束符号。`.` 为操作数的结束符号。
## 输入格式
输入一行一个字符串 $s$,表示后缀表达式。
## 输出格式
输出一个整数,表示表达式的值。
##输入输出样例#1
###输入#1
```
3.5.2.-*7.+@
```
###输出#1
```
16
```
##输入输出样例#2
###输入#2
```
10.28.30./*7.-@
```
###输出#2
```
-7
```
这道题比较简单可以用栈,也可以不用栈。
代码如下:
import sys
input=sys.stdin.readline
str1=input()
list2=[]
num=''
for item in str1:
if ord('0')<=ord(item)<=ord('9') or item=='.':
if item!='.':
num=num+item
else:
list2.append(int (num))
num=''
elif item=="@":
break
else:
if item=="+":
list2.append(list2[len(list2)-1]+list2[len(list2)-2])
elif item=="-":
list2.append(list2[len(list2)-2]-list2[len(list2)-1])
elif item=='*':
list2.append(list2[len(list2)-2]*list2[len(list2)-1])
elif item=='/':
list2.append(list2[len(list2)-2]//list2[len(list2)-1])
del list2[len(list2)-3]
del list2[len(list2)-2]
print(list2[0])
## 题目描述
所谓后缀表达式是指这样的一个表达式:式中不再引用括号,运算符号放在两个运算对象之后,所有计算按运算符号出现的顺序,严格地由左而右新进行(不用考虑运算符的优先级)。
本题中运算符仅包含 {+-*/}。保证对于 {/}运算除数不为 0。特别地,其中 {/}运算的结果需要**向 0 取整**(即与 C++ `/` 运算的规则一致)。
如{3*(5-2)+7}对应的后缀表达式为:{3.5.2.-*7.+@}。在该式中,`@` 为表达式的结束符号。`.` 为操作数的结束符号。
## 输入格式
输入一行一个字符串 $s$,表示后缀表达式。
## 输出格式
输出一个整数,表示表达式的值。
##输入输出样例#1
###输入#1
```
3.5.2.-*7.+@
```
###输出#1
```
16
```
##输入输出样例#2
###输入#2
```
10.28.30./*7.-@
```
###输出#2
```
-7
```
这道题比较简单可以用栈,也可以不用栈。
代码如下:
import sys
input=sys.stdin.readline
str1=input()
list2=[]
num=''
for item in str1:
if ord('0')<=ord(item)<=ord('9') or item=='.':
if item!='.':
num=num+item
else:
list2.append(int (num))
num=''
elif item=="@":
break
else:
if item=="+":
list2.append(list2[len(list2)-1]+list2[len(list2)-2])
elif item=="-":
list2.append(list2[len(list2)-2]-list2[len(list2)-1])
elif item=='*':
list2.append(list2[len(list2)-2]*list2[len(list2)-1])
elif item=='/':
list2.append(list2[len(list2)-2]//list2[len(list2)-1])
del list2[len(list2)-3]
del list2[len(list2)-2]
print(list2[0])
全部评论
相关推荐
点赞 评论 收藏
分享
