【问题标题】:How do I convert a float to base36 in Python?如何在 Python 中将浮点数转换为 base36?
【发布时间】:2020-04-14 10:49:07
【问题描述】:

我一直在将 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);
}

【问题讨论】:

  • 你想做什么?生成随机字母数字字符串或特定于 base36 的字符串?
  • @AzamatGalimzhanov 我更新了问题以显示原始 js 代码。不确定这是否有帮助? js代码不是我写的,js不是我的强项。

标签: javascript python base36


【解决方案1】:

来自 cmets。在 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))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多