0

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

我不确定如何执行此操作,因为Math.random()返回一个浮点数,在 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);
}

4

1 回答 1

1

从评论开始。在 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))
于 2020-04-14T11:45:42.210 回答