<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def update_rpndict(self, rpndict):
 """ update rpndict, try to solve rpn expressions as many as possible, leave unsolvable unchanged. return new dict """

        tmpdict = {k: v for k, v in rpndict.items()}
        for k, v in rpndict.items():
            v_str = str(v)
            if rpn.Rpn.solve_rpn(v_str) is None:
                tmpdict[k] = self.rinse_rpnexp(v_str, tmpdict)
            else:
                tmpdict[k] = rpn.Rpn.solve_rpn(v_str)
        return tmpdict