以下代码的输出是:
int("12", 5)
O/P: 7
int("0", 5)
O/P: 0
int("10", 2)
O/P: 2
我无法理解这一点。 Python 文档中说:“[ base]”部分是可选的,即它可能需要一个或两个参数。
第一个参数必须是一个在引号内具有 int 值的字符串。
int(string, base)
接受一个随意的根据。您可能熟悉二进制和十六进制,也许还熟悉八进制;这些只是以不同基数表示整数的方法:
- 二进制表示以 2 为基数的数字(0 和 1)
- 八进制表示以 8 为基数的数字(0、1、2、3、4、5、6 和 7)
- 小数是日常生活(西方)生活中用来讨论整数的数字,以 10 为基数(0 到 9)。
- 十六进制的基数为 16(0 到 9,然后是 A、B、C、D、E、F)。
每个基数决定了符号中每个“位置”可以取多少个值。在十进制中,我们数到 9,然后添加一个位置来数“十”,所以10
means 一乘十,零乘一。数到 99 后,添加第三位数字,依此类推。在二进制中只有两位数字,所以之后1
你数到10
,即一乘二,零乘一, 之后11
你数到100
.
The base
参数只是整数基数,并且不限于 2、8、10 或 16。基数 5 表示使用数字 0 到 4 表示数字。十进制数 10 将是20
例如,以 5 为底(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.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)