Как мне преобразовать число с плавающей точкой в ​​base36 в Python? - PullRequest
0 голосов
/ 14 апреля 2020

Я перенес javascript код в python, и я застрял, пытаясь получить python версию Math.random().toString(36)

Я не уверен, как это сделать, поскольку Math.random() возвращает число с плавающей точкой, в python Я не смог выяснить, как преобразовать число с плавающей точкой в ​​base36. Из того, что я понимаю, это только int, но как тогда javascript делает это?

для получения случайного числа с плавающей точкой в ​​python Я просто использую следующее:

import random

random.uniform(0, 1)

и для кодирования я использовал пример вики:

#from wiki
def base36encode(integer: int) -> str:
    ...

-EDIT: оригинал js код:

function randomString(length) {
    return Array(length + 1).join((Math.random().toString(36) + '00000000000000000').slice(2, 18)).slice(0, length);
}

1 Ответ

1 голос
/ 14 апреля 2020

Исходя из комментариев. В JS используется base36 для генерации случайных буквенных символов c. Это 26 из алфавита + 10 цифр.

В python вы можете сгенерировать случайную строку alphanumeri c заданной длины, например:

import random, string

def random_string(length):
    return ''.join(random.choice(string.ascii_lowercase + string.digits) for _ in range(length))
...