python中 我的int函数 我转换8进制16进制都没问题,转换二进制就不行 为什么?

 我来答
LG_MYlove
2016-10-12 · TA获得超过647个赞
知道小有建树答主
回答量:234
采纳率:93%
帮助的人:214万
展开全部
int类是将指定进制下的数字转换为十进制数字
你在python命令下输入help(int),会出现下面这段话
class int(object)
| int(x=0) -> int or long
| int(x, base=10) -> int or long
|
| Convert a number or string to an integer, or return 0 if no arguments
| are given. If x is floating point, the conversion truncates towards zero.
| If x is outside the integer range, the function returns a long instead.
|
| If x is not a number or if base is given, then x must be a string or
| Unicode object representing an integer literal in the given base. The
| literal can be preceded by '+' or '-' and be surrounded by whitespace.
| The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to
| interpret the base from the string as an integer literal.
你碰到的问题在可以引用上面这段英文来解释
If x is not a number or if base is given, then x must be a string or
Unicode object representing an integer literal in the given base.
翻译过来是如果参数不是数字类型,或者base参数给出了,那么x必须是基于指定进制(默认是十进制)下的数字序列的字符串,所以下面举得例子有的成功有的报错:
int('123')#可以成功,执行,123十进制数字内
int('A123')#报错,因为A不在十进制数内
int('A123',16)#可以成功,因为A123,都是十六进制内的基本数字
int('010101',2)#可以成功,因为0和1都是二进制的基本数字。
楼上的也说了,组成二进制的数字是只有0和1的,你的输入中可是包含了非二进制的数字呢
追问
哦,是我对这个函数的理解出错了,现在知道了。
mituningwang
2016-10-12 · 超过19用户采纳过TA的回答
知道答主
回答量:28
采纳率:0%
帮助的人:27.9万
展开全部
因为组成二进制数的数字只有0和1.。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式