没有结果

2024-10-02 16:21:33 发布

您现在位置:Python中文网/ 问答频道 /正文

所以,我得到了suma = 0(我必须得到3841,通过对文件中的数字求和),在我添加了字符串kiekis(用于获取文件中的行数)之后,当我删除kiekis进行测试时,我发现suma实际上没有改变

ugis = open("duomenys.txt")

kiekis = len(ugis.readlines())

sum(int(s) for s in ugis)
suma = 0
for s in ugis: suma += int(s)

print(suma, kiekis) #Its for check numbers

vidurkis = suma/kiekis

print("Vidurkis:", vidurkis)

Tags: 文件字符串intxtforlen数字open
1条回答
网友
1楼 · 发布于 2024-10-02 16:21:33

调用readlines()时,您已经耗尽了文件迭代器-稍后for s in ugis循环将进行0次迭代

相反,您可以将内容读入列表,然后获得平均值:

with open("duomenys.txt") as f:
    data = [int(line.rstrip()) for line in f]

vidurkis = sum(data)/len(data)
print("Vidurkis:", vidurkis)

相关问题 更多 >