值错误:基数为10的int()的文字无效:''

时间:2012-02-23 07:21:40

标签: python string file input casting

好的伙计们,我正在使用python来尝试完成一项任务。简而言之,我需要从一个长度可达数千位的文本文件中读取一个数字。我收到此错误,因为我尝试从字符串中取数字并将它们转换为整数,以便我可以用它们进行数学运算。

of = open("input.txt","r")
counter = 0
big=0
of.seek(0,0)

while True:    
    temp = of.read(5)
    if temp=="":
        break
    else:    
        a=int(temp[0])
        b=int(temp[1])
        c=int(temp[2])
        d=int(temp[3])
        e=int(temp[4])
        if a*b*c*d*e>big:
            big = a*b*c*d*e
        counter+=1
        of.seek(counter,0)

print big
of.close()

我真的很喜欢这个,所以任何帮助都非常感激。

提前致谢。

EDIT ============================================== ================

稍微修补一下后,我终于得到了正确运行的代码。以下是我的结论:

x = int(open("input.txt","r").read())
y = str(x)
big = 0
for i in range(0,len(y)-5):
    a = int(y[i])
    b = int(y[i+1])
    c = int(y[i+2])
    d = int(y[i+3])
    e = int(y[i+4])
    if a*b*c*d*e>big:
        big = a*b*c*d*e
print big

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

Python支持长整数,所以如果文件只是一个大整数,你可以这样读它:

bignum=int(open("input.txt","r").read())

答案 1 :(得分:0)

你的缩进是错误的; if-else应嵌套在while循环中。

相关问题