我正在尝试制作一个程序,该程序从文件中获取数字列表(可能会改变行数和大小),然后打印出所有数字的总和和平均值。当我有一定数量的 linereads 时,我这样做没有问题,但是当 lineread 每次运行都会改变时,我对“正确”的方式感到困惑。
这是我正在进行的代码。我阅读了一下并找到了正确的(?)循环文件以查找长度的方法,但不确定如何实现它,因为它当前会引发某种类型的 IO 错误。谢谢您的帮助!
def main():
filename = input("Enter file name (name.txt):")
try:
file = open(filename, "r")
except IOError:
print("Error opening file!")
totalLines = totalLineGet(filename)
results = []
for x in range(totalLines):
results.append(getLineNumber(x+1, file))
print("Total = ", numTotal)
print("Average = ", numAvg)
def totalLineGet(_filename):
count = 0
_file = open(_filename, "r")
for x in open(_file):
count+= 1
return count
def getLineNumber(linetoget, _file):
try:
intNumber = int(number = _file.readline())
except ValueError:
print("Error in file data!")
return intNumber
main()