如何在 Python 中将浮点数转换为 base36?

How do I convert a float to base36 in Python?

我一直在将 javascript 代码迁移到 python,但我一直在尝试获取 python 版本 Math.random().toString(36)

我不确定如何做到这一点,因为 Math.random() returns 一个浮点数,在 python 中我无法弄清楚如何将浮点数转换为 base36。据我了解,它只是 int 但 javascript 是怎么做到的?

为了在 python 中获得随机浮点数,我只使用以下内容:

import random

random.uniform(0, 1)

对于编码,我使用了 wiki 示例:

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

-编辑: 原js代码:

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

来自评论。在 JS 中使用 base36 来生成随机的字母数字字符。那是字母表中的 26 + 10 位数字。

在 python 中,您可以生成给定长度的随机字母数字字符串,如下所示:

import random, string

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