Python 数据统计工具:计算平均数、众数和中位数
这是一个 Python 程序,用于计算一组数据的平均数、众数和中位数。
while(1):
f = int(input('请输入数字选择程序功能:\n1:平均数\n2.众数\n3.中位数\n'))
if f == 1:
print('这是计算平均数的程序')
def averagenum(num):
nsum = 0
for i in range(len(num)):
nsum += num[i]
return nsum / len(num)
a = [1, 1, 2, 5, 7, 9, 9, 9, 20, 7, 9, 55]
print(averagenum(a))
if f == 2:
print('这是计算众数的程序')
def publicnum(num, d=0):
dictnum = {}
for i in range(len(num)):
if num[i] in dictnum.keys():
dictnum[num[i]] += 1
else:
dictnum.setdefault(num[i], 1)
maxnum = 0
maxkey = 0
for k, v in dictnum.items():
if v > maxnum:
maxnum = v
maxkey = k
return maxkey
a = [1, 1, 2, 5, 7, 9, 9, 9, 20, 7, 9, 55]
print(publicnum(a))
if f == 3:
print('这是计算中位数的程序')
def mediannum(num):
listnum = [num[i] for i in range(len(num))]
listnum.sort()
lnum = len(num)
if lnum % 2 == 1:
i = int((lnum + 1) / 2) - 1
return listnum[i]
else:
i = int(lnum / 2) - 1
return (listnum[i] + listnum[i + 1]) / 2
a = [1, 1, 2, 5, 7, 9, 9, 9, 20, 7, 9, 55]
print(mediannum(a))
程序简要流程
- 进入
while循环,等待用户输入数字选择程序功能。 - 如果用户选择 1,进入计算平均数的程序,调用
averagenum函数计算平均数。 - 如果用户选择 2,进入计算众数的程序,调用
publicnum函数计算众数。 - 如果用户选择 3,进入计算中位数的程序,调用
mediannum函数计算中位数。 - 根据用户的选择输出相应的结果。
- 循环回到第一步,等待用户的下一次选择。
使用方法:
运行程序后,用户将看到一个菜单,提示用户选择程序功能。用户需要输入相应的数字,程序将根据用户的选择执行相应的计算并输出结果。
代码解析:
代码中定义了三个函数:
averagenum:计算平均数publicnum:计算众数mediannum:计算中位数
每个函数都接受一个列表作为参数,并返回相应的结果。程序通过 while 循环不断提示用户选择功能,根据用户的选择调用相应的函数执行计算。
代码特点:
- 代码逻辑清晰,易于理解。
- 函数定义规范,代码可读性高。
- 程序功能实用,能够满足日常数据统计的需求。
应用场景:
该程序适用于需要进行简单数据统计的场景,例如:
- 计算一组数据的平均值
- 找出数据集中出现次数最多的元素
- 找出数据集中处于中间位置的元素
改进建议:
- 可以添加输入数据的验证功能,确保用户输入的都是有效数据。
- 可以将程序封装成一个类,以便更好地管理和维护代码。
- 可以添加用户界面,使程序更加友好易用。
原文地址: https://www.cveoy.top/t/topic/jtiU 著作权归作者所有。请勿转载和采集!