92854


Pythonのコードに取り組んでいて、取得したデータから名前、スコア、スコアの最高値、最低値、平均値を求めるコードを書いています。  
名前、スコア、スコアの最高値、最低値のプリントするのはできているのですが、平均値を出すコードがうまく書けません。いくつかウェブサイトを見てみたのですが、どれもうまくいきません。以下のコードはモジュールを使ってやってみたやつなんですが、どうもうまくいきません。何か提案等はありますか？

[code]

    from statistics import median
    from math import isnan
    from itertools import filterfalse
    
    def ScoreList():
        scores = {'name': [], 'score': []}
        while True:
            name = input("Enter a name or enter 'done' when finished ")
            if name == 'done': break
            scores['name'] += [name]
            score = input('Enter score ')
            scores['score'] += [int(score)]
    
        return scores
    
    if __name__ == '__main__':
        scores = ScoreList()
        print(scores)
        maxScore = max(scores['score'])
        print("max score is:", maxScore)
        minScore = min(scores['score'])
        print("min score is:", minScore)
        midScore = mid(scores['score'])
        print("average score is", midScore)
    
[/code]


CC BY-SA 4.0
2022-12-17T23:26:30.803
92853
2022-12-18T12:00:11.723
2022-12-18T12:00:11.723
3060
54742
question
python
Python で n個数の平均値を取得したい


[`statics`](https://docs.python.org/ja/3/library/statistics.html)の[`mean`](https://docs.python.org/ja/3/library/statistics.html#statistics.mean)を使うことで平均が取得できます。

`import median`を`import
mean`に書き換え、`mid(scores['score'])`を`mean(scores['score'])`に書き換えてください。

**サンプルコード**

[code]

    from statistics import mean
    
    if __name__ == '__main__':
        score = [10, 20, 30]
        print(score)
        print("max score is:", max(score))
        print("min score is:", min(score))
        print("average score is", mean(score))
    
[/code]

**実行結果**

[code]

    [10, 20, 30]
    max score is: 30
    min score is: 10
    average score is 20
    
[/code]

**参考資料**

  * [Python - リスト平均計算、3つの方法](https://codechacha.com/ja/python-get-average-of-list/#2-statistics%E3%81%AB%E3%82%88%E3%82%8B%E3%83%AA%E3%82%B9%E3%83%88%E5%B9%B3%E5%9D%87%E3%81%AE%E8%A8%88%E7%AE%97)


CC BY-SA 4.0
2022-12-17T23:41:40.847
92854
2022-12-17T23:41:40.847
9820
92853
answer