[英]ValueError: invalid literal for int() with base 10: 'string'
[英]ValueError: invalid literal for int() with base 10: '' - string to int conversion
我试图将数字字符串转换为int,但我继续得到以下内容:
Traceback (most recent call last):
File "C:/Python34/Euler36.py", line 16, in <module>
rev = int(rev)
ValueError: invalid literal for int() with base 10: ''
我已经查看了几个类似错误的线程,但没有一个似乎遇到空字符串值的问题:''
我只是使用'.join()将列表连接成一个字符串,并认为我可以使用int()将字符串转换为int。 看似不是。 这是代码:
num = 0
temp = 0
add_digit = 0
rev = []
length = 100 #All numbers less than this
while num < length:
temp = num
rev = []
while temp > 0:
add_digit = temp % 10
temp /= 10
temp = int(temp)
rev.append(str(add_digit))
rev = ''.join(rev)
rev = int(rev)
print(rev)
num += 1
print("Done.")
你从num = 0
开始。 然后设置temp = num
,因此temp
为零。 因此,你的while temp > 0
循环永远不会运行,因此没有任何东西被添加到rev
。 因此,当您尝试使用join
,它只会加入一个空列表并生成一个空字符串。
如何解决这个问题还不清楚,因为你没有说出你希望代码做什么。
第一次迭代中的num
为0,并且未输入while
。 因此rev
是一个空字符串。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.