4

私は最近base-36を使用していますが、intをbase-36文字列に変換する通常の答えに満足することはありません。少し不均衡に見えます…</p>

def to_base36(value):
    if not isinstance(value, int):
        raise TypeError("expected int, got %s: %r" % (value.__class__.__name__, value))

    if value == 0:
        return "0"

    if value < 0:
        sign = "-"
        value = -value
    else:
        sign = ""

    result = []

    while value:
        value, mod = divmod(value, 36)
        result.append("0123456789abcdefghijklmnopqrstuvwxyz"[mod])

    return sign + "".join(reversed(result))

…逆変換と比較した場合…</p>

def from_base36(value):
    return int(value, 36)

Pythonには本当にこの特定のバッテリーが含まれていませんか?

4

3 に答える 3

8

流域パッケージ を試しましたか?

>>> import basin
>>> basin.encode("0123456789abcdefghijklmnopqrstuvwxyz", 100)
'2s'

バッテリーは含まれていませんが、pypiリポジトリは、最小限の手間でバッテリーを受け取るためのコンビニエンスストアのようなものです。

于 2010-11-23T05:41:59.780 に答える
4

正しい。すべての店舗がNまたはJバッテリーを扱っているわけではありません。

于 2010-11-23T05:29:05.630 に答える
1

類推を続けると、そのサイズのバッテリーは基本パッケージに含まれていない可能性がありますが、プラグ互換のアクセサリをオンラインで購入するのは簡単です。

http://code.activestate.com/recipes/365468-number-to-string-in-arbitrary-base/

于 2010-11-23T05:41:44.613 に答える