python运行第一次报错division by zero,后续运行没有问题

python运行第一次报错,而后面运行不报错,求各位帮帮忙,情况下图:

img

代码块:

data=input()
dic={}
while data:
    tem = data.split()
    dic[tem[0]] = tem[1]
    data = input()
    
ls =list(dic.items())
ls.sort(key=lambda x:x[1],reverse = False)

s=0
for it in dic.values():
    s+=eval(it)
s/=len(ls)
print("最高分课程{} {},最低分课程{} {},平均分{:.2f}"\
    .format(ls[-1][0],ls[-1][1],ls[0][0],ls[0][1],s))

输入样例:
数学 90
语文 95
英语 86
物理 84
生物 87

第一次你那明显是运行了程序但没输入数据就按回车了,出现了被除数为0情况

第一次输入的时候可能多按了一次回车.重新运行一下,严格按照顺序输入应该没问题

应该是你第一次输入数据的时候没能正确读取,导致dic字典为空,ls也就为空,s初始化为0,那么s/=len(ls)
等价于s = s / len(ls)======>s = s / 0出现除数为0的错误