Python返回问题

时间:2013-11-08 04:46:20

标签: python python-3.x

所以我正在编写一个程序来创建一个文件,然后通过它读取并打印文件中的最大值和最小值,并返回文件中所有值的平均值。这是一项家庭作业,我的老师专门询问打印和返回的差异,这就是为什么那些。

我让程序运行顺畅,并按照我想要的方式工作,但是在我将函数放在最后,所以当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()

1 个答案:

答案 0 :(得分:1)

我在功能中看不到任何打印平均值的行。您可以获取返回值并打印它:

result = summaryStats()
print result

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