python IndexError: list index out of range

f=open("D:\\temp.txt",encoding='utf-8')
ht=(f.readline()).strip()
L1=list(ht.split(','))[:-1]
It=(f.readline()).strip()
L2=list(It.split(','))[:-1]
f.close()
for i in range(len(L1)):
    L1[i]=int(L1[i])
    L2[i]=int(L2[i])
    L3.append(int((L1[i]+L2[i])/2))
maxVal=L1[0]
maxDay=0
minVal=L2[0]
minDay=0    
for i in range(1,len(L1)):
    if L1[i]>maxVal:
        maxVal=L1[i]
        maxDay=i
    if L2[i]<minVal:
        minVal=L2[i]
        minDay=i
print("最高"+str(maxval)+"摄氏度")
print("最低"+str(minval)+"摄氏度")
L3=[]
for i in range(len(L1)):
    L1[i]=int(L1[i])
    L2[i]=int(L2[i])
    L3.append(int((L1[i]+L2[i])/2))
sum=0
for i in range(len(L3)):
    sum+=L3[i]
ave=int(sum/len(L3))
print('平均气温为:',ave)

但出现了line 11, in <module>
    maxVal=L1[0]
IndexError: list index out of range错误

请问怎么才能解决

 

f=open("D:\\temp.txt",encoding='utf-8')
ht=(f.readline()).strip()
L1=list(ht.split(','))[:-1]
It=(f.readline()).strip()
L2=list(It.split(','))[:-1]
L3=[]
f.close()
for i in range(len(L1)):
    L1[i]=int(L1[i])
    L2[i]=int(L2[i])
    L3.append(int((L1[i]+L2[i])/2))
maxVal=L1[0]
maxDay=0
minVal=L2[0]
minDay=0

for i in range(1,len(L1)):
    if L1[i]>maxVal:
        maxVal=L1[i]
        maxDay=i
    if L2[i]<minVal:
        minVal=L2[i]
        minDay=i
print("最高"+str(maxval)+"摄氏度")
print("最低"+str(minval)+"摄氏度")
L3=[]
for i in range(len(L1)):
    L1[i]=int(L1[i])
    L2[i]=int(L2[i])
    L3.append(int((L1[i]+L2[i])/2))
sum=0
for i in range(len(L3)):
    sum+=L3[i]
ave=int(sum/len(L3))
print('平均气温为:',ave)

你把代码替换成这个再运行一下看看可以吗

你得调试看看啊,L1里面到底从文件里读取到你想要的东西没有啊,如果是空的,L1[0]也越界啊

你的11行代码出错了。你列表长度不够,比如你的列表只有3个元素,你访问第四个元素,所以报错了

temp.txt的数据给我,否则我怎么知道

感谢各位老师的悉心解答 谢谢老师

 

小白跪谢大佬们

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632