![](/img/trans.png)
[英]ValueError: invalid literal for int() with base 10: '' - string to int conversion
[英]ValueError: invalid literal for int() with base 10: 'C' , Where is the conversion from string into integer happening?
我已经审查了类似的错误。 似乎在我的代码中某处我将字符串转换为 integer。 但我不知道在哪里。
我有一个输入列表'ops',其中包含字符串。 我还有另一个列表“记录”,我用整数填充。
def baseball_game (ops):
record = []
for i in range (len(ops)):
if ops[i] == 'C':
record.pop() #I remove last element. I am mot converting into integer.
print(record)
if ops[i] == 'D':
record.append(record[-1] * 2) #I am doubling the value of last element, which is already an integer.
print(record)
if ops[i] == '+':
record.append(record[-1] + record[-2]) #I am adding last 2 elements, which are NOT integers.
print(record)
else:
record.append(int(ops[i])) #I am converting into integer any value which is NOT 'C', 'D' nor '+'
print(record)
return sum(record)
问题是您连续有 3 个if
块,并且您希望它们的行为类似于elif
。
当ops[i]
为'C'
时,它进入第一个if
块,然后,因为'C' != '+'
,它在最后进入else
块。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.