Aunque no es exactamente lo que se pregunta, quizás alguien quiera convertirlo a una fracción en lugar de a una carroza. Después de todo, una fracción es lo que realmente representa.
unicodedata.normalize("NFKC", "⅕")
resultados en "1⁄5"
. Esto no es (en la actualidad) entendido por fractions.Fraction
, que espera una fracción descrita con /
en lugar de ⁄
. Sin embargo, es fácil de reemplazar:
In [313]: def unifrac_to_frac(s):
...: return fractions.Fraction(unicodedata.normalize("NFKC", s).replace("⁄", "/"))
...:
In [315]: unifrac_to_frac("⅕")
Out[315]: Fraction(1, 5)
In [316]: unifrac_to_frac("½")
Out[316]: Fraction(1, 2)
In [317]: unifrac_to_frac("↉")
Out[317]: Fraction(0, 1)
¡Oye, eso es genial! –
Python debería obtener un nuevo eslogan pidiendo prestado a Apple: "Hay un módulo para eso". –
Yup baterías incluidas. –