python允许使用[2,36]范围内的任何基数,从字符串到整数的转换,使用:
int(string,base)
我正在寻找一个优雅的逆函数,该函数需要一个整数和一个底数并返回一个字符串
例如
>>> str_base(224,15)
'ee'
我有以下解决方案:
def digit_to_char(digit):
if digit < 10: return chr(ord('0') + digit)
else: return chr(ord('a') + digit - 10)
def str_base(number,base):
if number < 0:
return '-' + str_base(-number,base)
else:
(d,m) = divmod(number,base)
if d:
return str_base(d,base) + digit_to_char(m)
else:
return digit_to_char(m)
注意:digit_to_char()适用于<= 169的基数,将“ z”后的ascii字符用作高于36的基数的数字
是否有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文档中函数圆括号内的方括号是什么意思? 例如: 帮助 ( [ 对象 ] ) 要么 int ( [ x [ , base ]] ) 问题答案: 方括号中的所有内容都是可选的,即您可以忽略它。如果方括号包含多个参数,则无法选择要忽略的参数,而必须全部指定或不指定。 这就是嵌套方括号派上用场的地方: 例如,在这里,您可以不带参数使用(通过省略整个外部括号)或(通过省略内部括号)或
本文向大家介绍Python-int()函数,包括了Python-int()函数的使用技巧和注意事项,需要的朋友参考一下 Python函数将指定的值转换为整数。 该函数将返回一个由数字或字符串(例如x)构成的整数对象,如果未指定实数则返回0。 语法 值=可以转换为整数的数字或字符串 base =一个代表数字格式的数字。默认值-10 示例
Python 内置函数 描述 int() 函数用于将一个字符串或数字转换为整型。 语法 以下是 int() 方法的语法: class int(x, base=10) 参数 x -- 字符串或数字。 base -- 进制数,默认十进制。 返回值 返回整型数据。 实例 以下展示了使用 int() 方法的实例:>>>int() # 不传入参数时,得到结果0 0 >>> int(3) 3 >>> in
我试图用Python中的多项式根来近似Julia集合。特别是,我想找出多项式q(z)=z^2-0.5的第n次迭代的根。换句话说,我想找到n次组成的q(q(q))的根。为了得到许多采样点,我需要计算次多项式的根 我尝试过使用numpy的内置多项式类(它有一个根函数)和sympy的函数解算器来解决这个问题。在第一种情况下,当我选择大于100的度数时,精度会损失。复杂的计算需要很长时间。以下是我的代码:
描述 (Description) 此方法有两个变体,并围绕给定正则表达式的匹配拆分此字符串。 语法 (Syntax) 以下是此方法的语法 - public String[] split(String regex, int limit) 参数 (Parameters) 这是参数的细节 - regex - 分隔正则表达式。 limit - 结果阈值,表示要返回的字符串数。 返回值 (Return V
描述 (Description) 此方法有两个变体,并返回一个新字符串,该字符串是此字符串的子字符串。 子字符串以指定索引处的字符开头,并且如果给出第二个参数,则延伸到此字符串的末尾或最多为endIndex - 1。 语法 (Syntax) 以下是此方法的语法 - public String substring(int beginIndex, int endIndex) 参数 (Paramete