Después de tanto luchar pudimos dar con la respuesta de esta aprieto que muchos los usuarios de nuestro sitio han tenido. Si quieres aportar alguna información no dejes de compartir tu comentario.
Solución:
Si todo lo que le importa son los dígitos, puede usar el str.maketrans()
y str.translate()
métodos:
>>> SUB = str.maketrans("0123456789", "₀₁₂₃₄₅₆₇₈₉")
>>> SUP = str.maketrans("0123456789", "⁰¹²³⁴⁵⁶⁷⁸⁹")
>>> "H2SO4".translate(SUB)
'H₂SO₄'
Tenga en cuenta que esto no funcionará en Python 2; consulte la función maketrans() de Python 2 no funciona con Unicode para obtener una explicación de por qué ese es el caso y cómo solucionarlo.
La salida realizada en la consola es texto simple. Si el terminal es compatible con Unicode (la mayoría lo hace hoy en día), puede usar los subíndices de Unicode. (por ejemplo, H₂) Es decir, los subíndices están en los rangos:
- 0x208N para números,
+
,-
,=
,(
,)
(N
viene de0
aF
) - 0x209N para letras
Por ejemplo:
In [6]: print(u'Hu2082Ou2082')
H₂O₂
Para una salida más compleja, debe utilizar un lenguaje de marcado (p. ej., HTML) o un lenguaje de composición tipográfica (p. ej., LaTeX).
Usar un código como este también funciona:
print('NGREEK SMALL LETTER PIrNSUPERSCRIPT TWO')
print('NGREEK CAPITAL LETTER THETArNSUBSCRIPT TWO')
Siendo la salida:
πr²
Θ₂
Tenga en cuenta que esto funciona solo en las versiones de Python 3.3 y superiores. Formato Unicode.
Recuerda algo, que tienes la capacidad de agregar una reseña si te ayudó.