Python字典实现员工工作时间统计与分析

本文将介绍如何使用Python字典解决一个实际问题:统计和分析员工每周工作时间。

问题描述:

假设我们有一个表格记录了每位员工每周7天的工作时间,如下表所示:

| 姓名 | 星期天 | 星期一 | 星期二 | 星期三 | 星期四 | 星期五 | 星期六 ||-----------|--------|--------|--------|--------|--------|--------|--------|| Employee_0 | 2 | 4 | 3 | 4 | 5 | 8 | 8 || Employee_1 | 7 | 3 | 4 | 3 | 3 | 4 | 4 || Employee_2 | 3 | 3 | 4 | 3 | 3 | 2 | 2 || Employee_3 | 9 | 3 | 4 | 7 | 3 | 4 | 1 || Employee_4 | 3 | 5 | 4 | 3 | 6 | 3 | 8 || Employee_5 | 3 | 4 | 4 | 6 | 3 | 4 | 4 || Employee_6 | 3 | 7 | 4 | 8 | 3 | 8 | 4 || Employee_7 | 6 | 3 | 5 | 9 | 2 | 7 | 9 |

我们需要解决以下问题:

  1. 选择合适的数据结构存储员工及其工作信息。2. 统计每个雇员的总工作时间,并按照总工作时间降序的方式显示雇员姓名及其总工时。3. 找出在行中最大的数且也是列中最大的数,代表'某员工在某天工作时间最长',并按如下格式显示:'XXX 员工 星期 X 工作XX小时!',如:'Employee_3 员工星期天工作9小时!'

解决方案:

我们可以使用Python字典来存储和处理这些数据。

**代码实现:**pythondata = { 'Employee_0': [2, 4, 3, 4, 5, 8, 8], 'Employee_1': [7, 3, 4, 3, 3, 4, 4], 'Employee_2': [3, 3, 4, 3, 3, 2, 2], 'Employee_3': [9, 3, 4, 7, 3, 4, 1], 'Employee_4': [3, 5, 4, 3, 6, 3, 8], 'Employee_5': [3, 4, 4, 6, 3, 4, 4], 'Employee_6': [3, 7, 4, 8, 3, 8, 4], 'Employee_7': [6, 3, 5, 9, 2, 7, 9]}

统计每个雇员的总工作时间total_hours = {}for employee, hours in data.items(): total_hours[employee] = sum(hours)

按照总工作时间降序排序并打印结果sorted_hours = sorted(total_hours.items(), key=lambda x: x[1], reverse=True)print('员工总工时排名:')for employee, hours in sorted_hours: print(f'{employee} 总工时: {hours}')

找出在行中最大的数且也是列中最大的数max_value = 0row_index = 0col_index = 0for i, hours in enumerate(data.values()): for j, hour in enumerate(hours): if hour > max_value: max_value = hour row_index = i col_index = j

根据索引找到对应的雇员姓名和星期几,并打印结果employees = list(data.keys())days = ['星期天', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']employee_name = employees[row_index]day_name = days[col_index]print(f'{employee_name} 员工 {day_name} 工作 {max_value} 小时!')

代码解读:

  1. 数据存储: 我们使用字典存储数据,每个键值对表示一个员工及其工作时间列表。2. 计算总工时: 使用sum()函数计算每个员工的总工作时间,并将结果存储在total_hours字典中。3. 排序: 使用sorted()函数对total_hours字典按照值(总工时)进行降序排序。4. 查找最大值: 使用嵌套循环遍历所有工作时间,记录最大值及其行列索引。5. 格式化输出: 根据索引找到对应的员工姓名和星期几,并使用f-string格式化输出结果。

希望本文能帮助你理解如何使用Python字典解决实际的数据处理问题。

Python字典实现员工工作时间统计与分析

原文地址: https://www.cveoy.top/t/topic/dRl8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录