以下代码的输出为:
int("12", 5)
O/P: 7
int("0", 5)
O/P: 0
int("10", 2)
O/P: 2
我无法理解这一点。Python文档中写道:"[,base]"部分是可选的,即它可能带有一个或两个参数。
第一个参数必须是引号中包含int值的字符串。
int(string, base)
接受任意基。您可能熟悉二进制和十六进制,也可能熟悉八进制;这些只是用不同的基数表示整数的方法:
每个基数确定符号中的每个"位置"可以取多少值。我们在十进制中数到9,然后添加一个位置来计算‘十’,因此10
表示1乘以10,0乘以1,因此10
表示1乘以10,0乘以1。计数超过99,然后添加第三位数,依此类推。在二进制中只有两位,所以在1
之后计数到10
,即1乘以2,0乘以1,在11
之后计数到100
。
base
参数仅为整数基数,不限于2、8、10或16。基数5表示数字用0到4表示。小数点10在基数5中为20
,例如(2乘以5)。
int(string, 5)
然后将该字符串解释为基数为5的数字,并将生成一个Python整数来反映其值:
>>> int('13', 5) # one time 5, 3 times 1 == 8
8
>>> int('123', 5) # one time 5**2 (25), 2 times 5, 3 times 1 == 38
38
如果您必须命名基数为5的数字,则可能会将其命名为Pental。
这篇关于int(x[,base])是如何工作的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!