Buggy python submission (verdict: Runtime Error):
def do_calc(data):
    from collections import deque
    s = deque()  # ??????????????¨??????????????????
    while data:
        elem = data[0]
        data = data[1:]
        if elem == '+' or elem == '-' or elem == '*':
            try:
                a = s.pop()
                b = s.pop()
                if elem == '+':
                    s.append(b + a)
                elif elem == '-':
                    s.append(b - a)
                elif elem == '*':
                    s.append(b * a)
            except IndexError:
                return None
        else:
            s.append(int(elem))
    try:
        result = s.pop()
    except IndexError:
        return None
    else:
        return result


if __name__ == '__main__':
    # ??????????????\???
    data = [int(x) for x in input().split(' ')]
    # data = ['1', '2', '+', '3', '4', '-', '*']

    # ???????????????
    result = do_calc(data)

    # ???????????????
    print(result)

Fixed submission:
def do_calc(data):
    from collections import deque
    s = deque()  # ??????????????¨??????????????????
    while data:
        elem = data[0]  # ?????????????????????????????????

        # ???????????§????????°?????´??????????????????pop??§????????????????¨????????????????????????????????????????
        if elem == '+' or elem == '-' or elem == '*':
            a = s.pop()
            b = s.pop()
            if elem == '+':
                s.append(b + a)
            elif elem == '-':
                s.append(b - a)
            elif elem == '*':
                s.append(b * a)
        # ??°?????§????????°????????????????????????
        else:
            s.append(int(elem))

        # ?¬??????????????????????????????????????????????????????¨??????
        data = data[1:]
    return s.pop()


if __name__ == '__main__':
    # ??????????????\???
    data = [x for x in input().split(' ')]
    # data = ['1', '2', '+', '3', '4', '-', '*']

    # ???????????????
    result = do_calc(data)

    # ???????????????
    print(result)

Buggy python submission (verdict: Runtime Error):
class Stack(object):
    def __init__(self):
        self.top = 0
        self.data = []

    def is_empty(self):
        return self.top == 0

    def push(self, x):
        self.top += 1
        self.data.append(x)

    def pop(self):
        self.top -= 1
        item = self.data[-1]
        del self.data[-1]
        return item


def do_calc(data):
    s = Stack()  # ??????????????¨??????????????????
    while data:
        elem = data[0]
        data = data[1:]
        if elem == '+' or elem == '-' or elem == '*':
            try:
                a = s.pop()
                b = s.pop()
                if elem == '+':
                    s.push(b + a)
                elif elem == '-':
                    s.push(b - a)
                elif elem == '*':
                    s.push(b * a)
            except IndexError:
                return None
        else:
            s.push(int(elem))
    try:
        result = s.pop()
    except IndexError:
        return None
    else:
        return result


if __name__ == '__main__':
    # ??????????????\???
    data = [int(x) for x in input().split(' ')]
    # data = ['1', '2', '+', '3', '4', '-', '*']

    # ???????????????
    result = do_calc(data)

    # ???????????????
    print(result)

Fixed submission:
def do_calc(data):
    from collections import deque
    s = deque()  # ??????????????¨??????????????????
    while data:
        elem = data[0]  # ?????????????????????????????????

        # ???????????§????????°?????´??????????????????pop??§????????????????¨????????????????????????????????????????
        if elem == '+' or elem == '-' or elem == '*':
            a = s.pop()
            b = s.pop()
            if elem == '+':
                s.append(b + a)
            elif elem == '-':
                s.append(b - a)
            elif elem == '*':
                s.append(b * a)
        # ??°?????§????????°????????????????????????
        else:
            s.append(int(elem))

        # ?¬??????????????????????????????????????????????????????¨??????
        data = data[1:]
    return s.pop()


if __name__ == '__main__':
    # ??????????????\???
    data = [x for x in input().split(' ')]
    # data = ['1', '2', '+', '3', '4', '-', '*']

    # ???????????????
    result = do_calc(data)

    # ???????????????
    print(result)