Day 53テキストファイルに書き込む
Pythonコード
1def summarize_numbers(numbers):2 total = sum(numbers)3 count = len(numbers)4 average = total / count if count else 05 return total, count, average6 7def main():8 values = [2, 5, 1, 4, 3]9 sorted_values = sorted(values)10 total, count, average = summarize_numbers(sorted_values)11 print("元の値:", values)12 print("並び替え:", sorted_values)13 print("合計:", total)14 print("件数:", count)15 print("平均:", round(average, 2))16 17if __name__ == "__main__":18 main()
解説
- 行1〜5: summarize_numbers() を定義し、sum() で合計、len() で件数を求め、平均も計算しています。
- 行7〜10: main() でサンプルのリストを用意し、sorted() で並び替え、関数から結果を受け取ります。
- 行11〜15: print() で元の値・並び替え結果・合計・件数・平均を順番に表示し、処理の流れを確認しやすくしています。
- 行15: round() は小数点以下の桁数を指定して見やすい表示に整える関数です。
- 行17〜18: if __name__ == "__main__": により、このファイルを直接実行したときだけ main() が動きます。
次に試してみよう
- values の中身を変更して、並び替え結果と平均がどう変わるか確認してみましょう。
- summarize_numbers() に最小値や最大値の計算(min(), max())を追加してみましょう。
- 空のリスト [] を渡したときに、表示内容をどうするか自分で改善してみましょう。