一个 PYTHON 程序,它从数字文件中获取输入并计算平均值

a PYTHON program that takes its input from a file of numbers and calculates the average

def main():
    numbersFile=open("numbers.txt" , 'r')

    line=numbersFile.readline()
    total=0
    numberoflines=0

    while line != " ":
        numberoflines+=1
        total+=int(line)
        line=numbersFile.readline()
    average=total/numberoflines
    print("The average is: " , average)

main() 

此程序显示错误消息-

ValueError:以 10 为底的 int() 的无效文字:'\n'

file.readline() 始终 returns 带有尾随换行符的行,除非它是文件的末尾并且文件不以换行符结尾,所以你应该 strip 该行如果您想将其转换为 int 或将其与 "" 进行比较,作为结束 while 循环的条件:

def main():
    numbersFile = open("numbers.txt", 'r')

    line = numbersFile.readline().strip()
    total = 0
    numberoflines = 0

    while line != "":
        numberoflines += 1
        total += int(line)
        line = numbersFile.readline().strip()
    average = total / numberoflines
    print("The average is: ", average)


main()
def main():
    numbersFile=open("numbers.txt" , 'r')

    line=numbersFile.readline().rstrip()
    total=0
    numberoflines=0

    while line!='':
        numberoflines+=1
        total+=int(line.rstrip('\n'))
        line=numbersFile.readline().rstrip()
    average=total/numberoflines
    print("The average is: " , average)

main() 

输出:

The average is:  2.5