#7.1.2 def r(filename): #获取数据 with open(filename, 'r') as f: return list(map(float, f.read().split())) def a(x): #平均值 average_x = sum(x)/len(x) return "平均值:{:.0f}".format(average_x) def f(x): #标准差 import numpy list2_f = numpy.var(x) #numpy库的标准差公式 return "标准差:{:.0f}".format(list2_f) def z(x): #中位数 y = x length = len(y) sorted_nums = sorted(y) mid = length // 2 if length % 2: result = sorted_nums[mid] else: left = sorted_nums[mid - 1] right = sorted_nums[mid] result = (left + right) / 2 return f"中位数:{round(result)}" nums = r('nums.txt') #文件地址 print(nums) nums_p = a(nums) print(nums_p) nums_b = f(nums) print(nums_b) nums_z = z(nums) print(nums_z) with open('new_nums.txt', 'w', encoding='utf-8') as new_nums: new_nums.write(nums_p + "\n") new_nums.write(nums_b + "\n") new_nums.write(nums_z + "\n") sorted_str = "排序后:" + " ".join(map(str, sorted(nums))) new_nums.write(sorted_str + "\n")