python的数据统计与处理
需求:
输入一个由逗号分隔的整数列表,完成以下操作:
计算最大值、最小值、平均值
输出去重后的升序列表
功能说明
最大值、最小值和平均值计算:
使用 Python 的内置函数 max 和 min。
平均值通过 sum 除以列表长度计算。
去重并升序:
使用集合 set 去重后转换回列表并排序。
输入处理:
将用户输入字符串通过 split 和 map(int, …) 转换为整数列表。
代码实现:
class Function:def __init__(self):self.num_list = []def calculate_max(self):return max(self.num_list)def calculate_min(self):return min(self.num_list)def calculate_avg(self):return sum(self.num_list) / len(self.num_list)def get_unique_sorted_list(self):return sorted(set(self.num_list))if __name__ == '__main__':# 用户输入并转换为整数列表input_list = input("请输入一组由逗号分隔的整数,例如:1,2,3,4: ")num_list = list(map(int, input_list.split(',')))# 创建 Function 对象function = Function()function.num_list = num_list# 执行功能并输出结果print(f"最大值: {function.calculate_max()}")print(f"最小值: {function.calculate_min()}")print(f"平均值: {function.calculate_avg():.2f}")print(f"去重后的升序列表: {function.get_unique_sorted_list()}")
基于 class 类方式实现数据统计与处理功能:
功能说明
面向对象设计:
使用 NumberStats 类封装所有与数字统计相关的功能,每个统计操作为一个方法。
类在初始化时接收一个整数列表作为输入。
calculate_max:返回最大值。
calculate_min:返回最小值。
calculate_avg:计算并返回平均值。
get_unique_sorted_list:返回去重后的升序排列列表。
异常处理:
增加了 try-except 块,确保用户输入的数据格式正确,避免运行时错误。
代码实现:
class NumberStats:def __init__(self, num_list):"""初始化时接收一个整数列表"""self.num_list = num_listdef calculate_max(self):"""计算最大值"""return max(self.num_list)def calculate_min(self):"""计算最小值"""return min(self.num_list)def calculate_avg(self):"""计算平均值"""return sum(self.num_list) / len(self.num_list)def get_unique_sorted_list(self):"""获取去重后的升序列表"""return sorted(set(self.num_list))if __name__ == '__main__':# 用户输入并转换为整数列表input_list = input("请输入一组由逗号分隔的整数,例如:1,2,3,4: ")try:# 转换为整数列表num_list = list(map(int, input_list.split(',')))# 创建 NumberStats 对象stats = NumberStats(num_list)# 调用类的方法并输出结果print(f"最大值: {stats.calculate_max()}")print(f"最小值: {stats.calculate_min()}")print(f"平均值: {stats.calculate_avg():.2f}")print(f"去重后的升序列表: {stats.get_unique_sorted_list()}")except ValueError:print("输入数据有误,请确保输入的是逗号分隔的整数。")