用户:
旺旺狗查看:2 回复:1 评论:2 创建时间:2021-07-31T15:53:20
【作品展示】

【作品介绍】
这是一个数据分析的程序,给它提供一组数据,它可以给你求出这组数据的平均数、众数、从大到小的排列顺序、中位数以及方差,是一个方便的数据分析工具。八年级下册时数学会学到数据分析,若做题时觉得自己分析数据比较费劲,可以通过该程序辅助,可以当做做题工具。
【作品源代码】
data_str = input('请输入一组数据,用空格隔开每个数据:').split(' ')
appear_times = {}
mode = []
data_num = []
try:
for d in data_str:
if ('.' in d) or ('e' in d):
data_num.append(float(d))
else:
data_num.append(int(d))
for i in data_str:
if not i in appear_times:
appear_times[i] = 1
else:
appear_times[i] += 1
#求众数
print('每个数据出现次数:',appear_times)
for j in appear_times:
if appear_times[j] == max(appear_times.values()):
mode.append(j)
#求平均数
avg = round(sum(data_num) / len(data_num),2)
#输出众数与平均数
print('故其中的众数有:',mode)
print(f'平均数为{avg}')
#求出中位数并将其输出
data_num = sorted(data_num,reverse=True)
if len(data_num) % 2 == 0:
median = (data_num[len(data_num)//2 - 1] + data_num[len(data_num)//2])/2
else:
median = data_num[len(data_num)//2]
print('该组数据按从大到小顺序排列为:', data_num)
print('这组数据的中位数为:',median)
#求出方差并将其输出
diffs = []
for l in data_num:
diff = (l - avg)**2
diffs.append(diff)
var = sum(diffs) / len(data_num)
print(f'该组数据的方差为{var}')
except Exception:
print('你的输入有误')