Files

45 lines
1.1 KiB
Python

#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")