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

2024-04-25 08:03:55 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我不知道该怎么做,因为Math.random()返回一个float,在python中,我还没有弄清楚如何将float转换为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);
}


Tags: 方法代码import版本wikislicerandommath
1条回答
网友
1楼 · 发布于 2024-04-25 08:03:55

从评论开始。在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))

相关问题 更多 >