0

そのため、ファイルを作成してそれを読み取り、ファイル内の最大値と最小値を出力し、ファイル内のすべての値の平均を返すプログラムを作成しています。これは宿題で、私の先生は印刷と返却の違いを具体的に求めたので、そこにあるのです.

プログラムはスムーズに実行され、思いどおりに動作しましたが、関数を最後に配置した後、シェルがリセットされると自動的に実行され、コードの最後が台無しになり、平均が返されませんもう。関数を最後に配置し、すべてを手動で行う前は、魅力のように機能していました。プログラムの最後に関数を配置したときに、なぜ平均が切れているのかを理解するのを手伝ってくれることを願っていました。時間を割いて読んで助けてくれてありがとう、本当に感謝しています。

おそらくもっと簡単な方法でこれを行うことができると思いますが、私は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 に答える