Estoy elaborando una pequeña calculadora y me encapriché en convertir los exponentes en súper indices(⁰¹²³⁴⁵⁶⁷⁸⁹) en la conversión todo okay primero usé un diccionario y luego conocímaketrans y opte por este último, luego con «RE» remplazo cada índice en caracteres normales concatenando con doble asteriscos para su posterior evaluación con la función eval(), incluso he llegado a poder evaluar una concatenación de índices 2¹² el problema que el sistema que llegue fue de manera aislada al momento de querer evaluar más de una potencia2¹²+3¹² se rompe.
def get_Sup(self, x): normal = "0123456789" sup_s = "⁰¹²³⁴⁵⁶⁷⁸⁹" res = x.maketrans(''.join(normal), ''.join(sup_s)) return x.translate(res)if self.pow: self.display.setText(self.display.text()+ self.get_Sup(digito)) self.digitPSindex += self.get_Sup(digito) self.digitPNumber += digito self.dicSup[self.digitPNumber] = self.digitPSindexfor i in self.dicSup: if self.dicSup[i] == self.digitPSindex: var = re.sub(self.dicSup[i], f'**{i}', var)return var