﻿import numpy as np  # モジュールNumpyをnpという名前でインポート
data = np.array([62, 64, 58, 63, 67])
# (1)の結果出力
print(np.median(data))  # 中央値
print(np.mean(data))  # 平均値
# (2)
true_med = 64.0 ; true_ave = 63.0
# 正しい数値に基づけば，5個の記録の合計は平均値63.0の5倍となる
S = true_ave * len(data)
correct_data = np.array([0, 0, 0, 0, 0])  # 訂正後のデータを格納
target_i = 0  # 訂正対象となるデータの添え字(※暫定的に初期値を0とする)
# データの各要素に対して修正を試みる
for i in range(len(data)):
    correct_data = data.copy()
    # data[i]が誤りならば(data[i]以外の数値の合計) + (data[i]の正しい数値) = S
    correct_data[i] = S - (np.sum(data) - data[i])
    # 訂正後の中央値が64.0であればfor文を終了
    if np.median(correct_data) == true_med:
        target_i = i
        break

# (2)の結果出力
print(data[target_i])  # 誤っている数値
print(correct_data[target_i])  # 正しい数値