为什么会这样?:
>>> int('20', 3)
6
>>> int('8', 3)
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
int('8', 3)
ValueError: invalid literal for int() with base 3: '8'
是的,我看过这篇文章:ValueError: invalid literal for int() with base 10: ''
但'8'没有任何小数。它也没有任何空白。为什么这不起作用?当然可以在基数3中表示8。
答案 0 :(得分:2)
为什么这不起作用?
因为8是基数3中的无效整数。基数3只允许从0(包括)到2(不包括)的整数,从而导致ValueError
。
当然可以在基数3中表示8。
是的,但那不是int()
所做的。它将表示转换为数字。
>>> int('22', 3)
8
如上所示,int
在中指定基数中的,它们将其转换为整数。