无效的基数10整数字面量:

3 投票
1 回答
12322 浏览
提问于 2025-04-16 08:45
>>> n = ''.join(i for i in x if i.isdigit())
>>> n.isdigit()
True
>>> x.isdigit()
False

>>> previous = 0
>>> next = 100
>>> answer = 0


>>> for i in range(0,100):
...     answer += int(n[previous:next])
...     previous = next
...     next += 100
... 
Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
ValueError: invalid literal for int() with base 10: ''

我为什么会遇到这个错误呢?你看,n是一个数字。

1 个回答

7

这里的 n 可能是一个数字,但在某个时候,你可能会超出 n 的长度,这样 n[previous:next] 就不会包含任何字符了。空字符串 '' 是无法转换成整数的,所以就会出现错误,错误信息是:invalid literal for int() with base 10: '',意思就是你试图把一个空的东西变成整数,这是不行的。

>>> int('')
Traceback (most recent call last):
  File "<input>", line 1, in <module>
ValueError: invalid literal for int() with base 10: ''

撰写回答