您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python精美的int(string,base)反函数

Python精美的int(string,base)反函数

该线程具有一些示例实现。

实际上,我认为您的解决方案看起来不错,甚至可以递归使用,这在某种程度上令人愉悦。

我仍然会简化它以删除else,但这可能是个人风格的事情。我认为if foo: return这很明确,不需要else明确说明它是一个单独的分支。

def digit_to_char(digit):
    if digit < 10:
        return str(digit)
    return chr(ord('a') + digit - 10)

def str_base(number,base):
    if number < 0:
        return '-' + str_base(-number, base)
    (d, m) = divmod(number, base)
    if d > 0:
        return str_base(d, base) + digit_to_char(m)
    return digit_to_char(m)

我简化了0-9的情况digit_to_char(),我认为str()chr(ord())构造更清晰。为了最大限度地增加>= 10案件的对称性,ord()可以考虑,但我没有打扰,因为它会增加一条线,简洁性更好。:)

python 2022/1/1 18:35:12 有227人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶