该线程具有一些示例实现。
实际上,我认为您的解决方案看起来不错,甚至可以递归使用,这在某种程度上令人愉悦。
我仍然会简化它以删除
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()可以考虑,但我没有打扰,因为它会增加一条线,简洁性更好。:)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)