0

所以我正在编写一个程序,它创建一个文件,然后读取它并打印文件中的最大值和最小值,并返回文件中所有值的平均值。这是一个家庭作业,我的老师特别要求打印和返回的差异,这就是为什么会有这些。

我让程序运行顺利并且按照我想要的方式工作,但是在我把我的函数放在最后之后它会在 shell 重置时自动运行它弄乱了我的代码的结尾并且它不会返回平均值了。在我把这个功能放在最后并手动完成所有事情之前,它就像一个魅力。我希望你们能够帮助我弄清楚为什么当我将我的函数放在程序的末尾时它会降低平均值。感谢您花时间阅读并帮助我,我真的很感激。

我意识到可能有很多更简单的方法可以做到这一点,但我对 Python 还很陌生。我真正在寻找的是为什么当我把我的函数放在最后时,它会降低我的平均结果。这是我的代码:

    def summaryStats():
        fileName = input("Enter a file name please: ")
        outputFile = open(fileName, "w")
        numberstoGenerate = int(input("Please enter how many units long you would like the list to be: "))
        while numberstoGenerate > 0:
            randomNumber = int(random.random()*1000)
            outputFile.write(str(randomNumber) + "\n")
            numberstoGenerate = numberstoGenerate - 1
        outputFile.close()
        file = open(fileName, "r")
        average = 0
        myList = file.readlines()
        myList = myList[0:]
        print("The maximum value is " + str(max(myList)))
        print("The minimum value is " + str(min(myList)))
        for element in myList:
            average = average + int(element)
        return average/len(myList)

    summaryStats()
4

1 回答 1

1

我在函数内部看不到任何用于打印平均值的行。您可以获取返回值并打印它:

result = summaryStats()
print result

或在函数中添加一行以打印平均值。

于 2013-11-08T05:07:39.293 回答