Как я преобразовываю unicode символы в плавания в Python?

Не волнуйтесь о "хорошем" семени для генератора случайных чисел. Статистические свойства последовательности не зависят от того, как генератор отобран. Существуют другие вещи, как бы то ни было. волноваться о. См. Ловушки в Генерации случайных чисел .

Что касается аппаратных генераторов случайных чисел, эти физические источники должны быть измерены, и измерительный процесс имеет систематические ошибки. Вы могли бы найти, что "псевдо" случайные числа имели более высокое качество, чем "реальные" случайные числа.

10
задан mskfisher 10 May 2012 в 18:51
поделиться

4 ответа

Вы хотите использовать модуль unicodedata :

import unicodedata
unicodedata.numeric(u'⅕')

Это напечатает:

0.20000000000000001

Если символ не имеет числового значения, тогда unicodedata. numeric (unichr [, default]) вернет значение по умолчанию, или, если значение по умолчанию не указано, вызовет ошибку ValueError.

26
ответ дан 3 December 2019 в 14:53
поделиться

Поскольку в Unicode определено только фиксированное количество дробей, словарь кажется подходящим:

Fractions = {
    u'¼': 0.25,
    u'½': 0.5,
    u'¾': 0.75,
    u'⅕': 0.2,
    # add any other fractions here
}

Обновление: модуль unicodedata - гораздо лучшее решение.

]
1
ответ дан 3 December 2019 в 14:53
поделиться

Может быть, вы могли бы разложить дробь с помощью модуля «unicodedata» , а затем найти символ SLASH FRACTION , и тогда это будет просто деление.

Например:

>>> import unicodedata
>>> unicodedata.lookup('VULGAR FRACTION ONE QUARTER')
u'\xbc'
>>> unicodedata.decomposition(unicodedata.lookup('VULGAR FRACTION ONE QUARTER'))
'<fraction> 0031 2044 0034'

Обновление: Я оставлю этот ответ здесь для справки, но использование unicodedata.numeric () в соответствии с ответом Карла - гораздо лучшая идея.

1
ответ дан 3 December 2019 в 14:53
поделиться

В Python 3.1 вам не нужна буква «u», и она выдаст 0,2 вместо 0.20000000000000001. .

>>> unicodedata.numeric('⅕')
0.2
0
ответ дан 3 December 2019 в 14:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: