ValueError: invalid literal for int() with base 10: ''
我从文件中读取数据,都是数字。
我想把它改成int,然后显示这个错误消息。
我试图使用strip('\n')
,但仍然得到这个错误。在
这是我的输入文件
1958
1703200
1375035
978400
1962
1813500
1446593
971706
1966
1869400
1472054
987134
1970
2078000
1562916
1123000
1974
2419000
1896214
1044425
1978
2651000
1960900
1028854
1982
3119000
2105563
1404831
1986
3307000
2230354
1358160
1990
3650000
2225101
1362651
1994
4000000
2896519
1733471
1998
4257000
3119562
1939421
2002
4519000
3209648
1808720
2006
4821000
3264511
2107370
2010
5149729
3601268
2565589
你的文件有一个空行(可能是最后一行?)。无法转换为int
不管怎样,还有很多其他的事情需要更正,我怀疑你发布的代码应该会引发很多异常。在
问题是你一直在检查第一行:
此条件永远不会计算为
False
,并且循环将无限期地继续运行,因为在while
循环中没有更新该条件。在比较:
^{pr2}$这个循环将永远运行,除非您在循环中的某个地方修改
num
(例如num -= 1
)。在在本例中,循环输入,直到
readline()
到达文件末尾并返回空字符串。空字符串''
无法转换为整数,显然,这就是为什么会出现错误。在为了解决这个问题,我将在开头使用
try ... except ...
块:这将确保循环在没有数据可供读取时结束。在
至于你的其他错误,以下是一些提示:
year
)big_year
?)在%
加倍:%%
相关问题 更多 >
编程相关推荐