ValueError: invalid literal for int() with base 10问题解决办法

问题描述:
在用pthon写脚本过程中,发生错误:ValueError: invalid literal for int() with base 10,这种错误是指类型转换错误,int()函数是可以将字符串转换为整数,但是这个字符串如果是带小数的,比如1.1,3.14之类,这个时候如果你再用int(1.1)转换得话,就会出现上面报的错误。

本人是在哪里遇到这个问题的呢?

在编程作业:使用input函数输入一个小数

(返回的数据类型是一个字符串)

请尝试转换成整数、字符串、浮点数。

编写代码如下图:

输入小数后,则再进行整数转型时,报出错误。

首先input输入的变量都是字符串形式存储,那么该问题就是把字符串转为整数形式。首先这个字符串是一个浮点的形式,并非数字形式,那么我们应当先将其转化为浮点数形式,再从浮点数转化为整数int形式。

经过查找网络上有类似的解答,不过全部都是英文,大概如下图:
 

以上原图转载自Stack Overflow - Where Developers Learn, Share, & Build CareersStack Overflow is the largest, most trusted online community for developers to learn, share​ ​their programming ​knowledge, and build their careers.https://stackoverflow.com/

论坛,有兴趣且英文不错的小伙伴可以多逛逛。

根据解决办法,那么重新改写代码。 

 由于a为input进来,本身就是str字符串格式,因此减少了一个变量d。先将a转换为浮点数,再将浮点数转换为整数。进入pycharm运行结果如下:

运行成功,问题解决。 

 

 


版权声明:本文为frankyaixu原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。