以下代码的输出是:
0<=i<Max
我无法理解这一点。从Python文档中可以看出:&#34; [,base]&#34; part是可选的,即可能需要一个或两个参数。
第一个参数必须是一个在引号内具有int值的字符串。
答案 0 :(得分:4)
int(string, base)
接受任意基础。您可能熟悉二进制和十六进制,也许是八进制;这些只是注意不同基数中的整数的方法:
每个基数确定符号中每个“位置”可以采用的值。在十进制中,我们最多计数9,然后添加一个位置来计算“十”,所以10
表示一次十,零一次。计数超过99,你添加第三个数字等。在二进制中只有两个数字,所以在1
之后你算上10
,这是一次两次,零次一次,在11
之后,您计算到100
。
base
参数只是整数基数,并不限于2,8,10或16.基数5表示数字用0到4表示。十进制数10将是例如,基数为5 20
(2次5)。
int(string, 5)
将字符串解释为base-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 。
答案 1 :(得分:1)
int(string, [base])
函数将给定的字符串转换为十进制数字,这里base是可选的,您可以输入任何数字,例如:
但是请注意,您输入的字符串应该是该基数中的一个数字。例如:您不能写int("45",2)
,因为二进制数没有4和5,而是可以使用int("1011",2)
。
就您而言,
int("12",5) => 1*(5 ^ 1) + 2*(5 ^ 0) = 7
int("0",5) => 0*(5 ^ 0) = 0
int("10", 2) => 1*(2 ^ 1) + 0*(2 ^ 0) = 2
答案 2 :(得分:0)
int函数返回字符串,就像它在基数“base”中表示一样。例如,基数2(二进制)中的10是基数10(十进制)中的2。基数5中的12是1 * 5 ^ 1 + 2 * 5 ^ 0 = 7。
答案 3 :(得分:0)
这里base是我们必须将第一个参数关联到的数字系统。就像数字系统是二进制一样,那么&#34; 10&#34;小数表示2。同样,如果&#34; 10&#34;数字系统三元平均值为3,十进制等等。有关更多详细信息,请参阅有关数字系统以及数字系统之间转换的工作原顺便说一句,我们人类很好地理解十进制数系统(0-9),而计算机理解二进制数系统。
答案 4 :(得分:0)
这个事实可以解释如下:
假设我们的函数调用是int("12",5)
,这意味着(12)在基数5中,我们要求将它转换为十进制数。即,进入10号基数。
所以,简单的规则是
(12)base 5 = 1*(5 ^ 1) + 2*(5 ^ 0)
= 5 + 2
= 7
可以从任何其他基础进行类似的转换。