int()函数在Python中不接受字符串有什么问题?

2024-04-25 17:54:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我对编程比较陌生,我想测试int()函数的基本转换能力。 当我写的时候:

>>> int("3",2)
11

它显示这个。但是,如果我使用:

>>> int('3',2)

它显示一个值错误,基为2的int的无效文本:“3” 怎么回事?例如,这不允许我使用int(str(a),2)。 如果这有帮助的话,我将使用python3.7.0。我对这个问题很失望。你知道吗


Tags: 函数文本编程错误能力intstr陌生
2条回答

错误消息invalid literal for int() with base 2: '3'告诉您什么是错误的:在base 2中,唯一有效的数字是01。如果您试图解析以2为基数的字符串,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"的字符串。你知道吗

相关问题 更多 >