2024-04-25 17:54:15 发布
网友
我对编程比较陌生,我想测试int()函数的基本转换能力。 当我写的时候:
>>> int("3",2) 11
它显示这个。但是,如果我使用:
>>> int('3',2)
它显示一个值错误,基为2的int的无效文本:“3” 怎么回事?例如,这不允许我使用int(str(a),2)。 如果这有帮助的话,我将使用python3.7.0。我对这个问题很失望。你知道吗
错误消息invalid literal for int() with base 2: '3'告诉您什么是错误的:在base 2中,唯一有效的数字是0和1。如果您试图解析以2为基数的字符串,3是无效的数字。你知道吗
invalid literal for int() with base 2: '3'
0
1
3
如果需要整数字符串中的二进制字符串,可以使用以下方法之一:
>>> bin(int("3")) '0b11' >>> bin(int("3"))[2:] '11' >>> "{0:b}".format(int("3")) '11'
从documentation:
if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in radix base
因此,您需要为这个调用提供一个表示以2为基数的整数的字符串,即一个只有"0"或"1"的字符串。你知道吗
"0"
"1"
错误消息
invalid literal for int() with base 2: '3'
告诉您什么是错误的:在base 2中,唯一有效的数字是0
和1
。如果您试图解析以2为基数的字符串,3
是无效的数字。你知道吗如果需要整数字符串中的二进制字符串,可以使用以下方法之一:
从documentation:
因此,您需要为这个调用提供一个表示以2为基数的整数的字符串,即一个只有
"0"
或"1"
的字符串。你知道吗相关问题 更多 >
编程相关推荐