个性化阅读
专注于IT技术分析

如何解决invalid literal for int() with base?(已解决)

点击下载

ValueError当我们传递不合适的参数类型时会遇到这种情况。在这里, 我们谈论的是由于将错误的参数传递给int()功能。当我们传递浮点数的字符串表示形式或除int以外的任何字符串表示形式时, 都会给出ValueError。

示例1:以10为底的ValueError

# ValueError caused by conversion of 
# String representation of float to int
int ( '23.5' )

输出:

ValueError: invalid literal for int() with base 10: '23.5'

可以认为执行上述代码时, 小数部分” .5″应被截断, 并且代码应仅将输出结果设为23。但是要注意的一点是, int()函数使用十进制数系统作为转换的基础, 即。 base = 10是转换的默认值。在十进制数字系统中, 除小数点(。)和其他字符(字母和特殊字符)外, 我们的数字范围为0到9。因此, int()使用base = 10只能转换一个字符串表示形式的int而不是浮点数或字符。

我们可以先使用以下方法将float的字符串表示形式转换为float浮动()函数, 然后使用将其转换为整数int().

print ( int ( float ( '23.5' )))

输出:

23

示例2:传递字母int().

int ( 'abc' )

输出:

invalid literal for int() with base 10: 'abc'

字符a, b, c, d, e和f存在于base = 16系统中, 因此只有这些字符以及数字0至9可以从其字符串表示形式转换为十六进制形式的整数。我们必须传递一个参数基础值16。

print ( int ( 'abc' , base = 16 ))

输出:

2748

首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。


赞(1)
未经允许不得转载:srcmini » 如何解决invalid literal for int() with base?(已解决)

评论 抢沙发

评论前必须登录!