我对编程还比较陌生,我想测试int()函数的基本转换能力。 当我写的时候:
>>> int("3",2)
11
显示它。但是,如果我使用:
>>> int('3',2)
它显示一个值错误,以2为基数的int无效文字:'3' 到底是怎么回事?例如,这不允许我使用int(str(a),2)。 如果有帮助,我正在使用Python 3.7.0。我对这个问题感到非常沮丧。
答案 0 :(得分:2)
错误消息invalid literal for int() with base 2: '3'
告诉您出什么问题了:在base 2中,唯一有效的数字是0
和1
。如果您尝试解析以2为底的字符串,则3
是无效数字。
如果要从整数字符串中获取二进制字符串,则可以使用以下之一:
>>> bin(int("3"))
'0b11'
>>> bin(int("3"))[2:]
'11'
>>> "{0:b}".format(int("3"))
'11'
答案 1 :(得分:1)