[[練習問題(アルゴリズム編)]] ''' python main.py 1 2 + 4 5 + \* > 27 python main.py 1 2 + 3 \* 4 5 / - > 8.2 python main.py 5 13 + 6 / 2 % 4 5 \* - > -19 ''' import sys st = [] try: for e in sys.argv[1:]: if e=='+': b, a = st.pop(), st.pop() st.append(a+b) elif e=='-': b, a = st.pop(), st.pop() st.append(a-b) elif e=='*': b, a = st.pop(), st.pop() st.append(a*b) elif e=='/': b, a = st.pop(), st.pop() if a%b==0: st.append(a/b) else: st.append(a*1./b) elif e=='%': b, a = st.pop(), st.pop() if a!=int(a) or b!=int(b) or (a/b)!=int(a/b): print 'mod error!' exit(1) st.append(a%b) else: st.append(int(e)) except IndexError: print 'index error!' exit(1) print st.pop()