ValueError:int()的基数为10的无效文字:' \ r'

时间:2017-03-12 18:09:51

标签: python-3.x

我实际上是在尝试将字符转换为整数。 (即' 1'到1)在python3中,但它显示出一些错误

ValueError: invalid literal for int() with base 10: '\r' 

为什么它无法转换它。 如果我在geeksforgeeks编译器上运行它没有显示任何错误。 但在提交时它会显示此错误。

t=int(input())
for each in range(t):
s=input()
count=0
num=0
for eachch in str(s):
    if (eachch>='a') and (eachch<='z'):
        count+=1
    else:
        num=num*10+int(eachch)
if(int(num) == int(count)):
    print("1")
else:
    print("0")

告诉我为什么会这样,以及这些编译器之间的区别。

1 个答案:

答案 0 :(得分:0)

这里的问题必须是你得到的输入字符串有\r符号,所以int()函数不能得到一个整数。使用strip()功能必须在这里提供帮助。

即。 t = int(input().strip())