如何通过输入员工编号从employInfo列表获取对应完整信息?
员工信息查询实现方案
首先,你手里的employInfo是个扁平列表,每3个元素对应一个员工的编号、姓名、生日。直接用这个列表查询效率低,先把它转成以员工编号为键的字典,这样查起来更方便。
实现步骤&代码示例
# 给定的员工信息列表 employInfo = [1,'De Leon','7/19/2001',2,'Fabian','6/6/1999',3,'Deseo','12/25/1998'] # 1. 把扁平列表转成便于查询的字典 employee_dict = {} # 每3个元素为一组遍历原列表 for i in range(0, len(employInfo), 3): emp_id = employInfo[i] emp_name = employInfo[i+1] emp_birthday = employInfo[i+2] employee_dict[emp_id] = (emp_name, emp_birthday) # 2. 获取用户输入的员工编号 input_id = int(input("请输入员工编号:")) # 3. 查询并输出结果 if input_id in employee_dict: name, birthday = employee_dict[input_id] print(f"Employee with this No. is {name} and his birthday is {birthday}.") else: print("该编号的员工不存在。")
代码说明
- 转换字典部分:用
range(0, len(employInfo), 3)实现每3个元素跳一次,依次取出编号、姓名、生日,把编号作为键,姓名和生日的元组作为值存入字典。 - 输入处理:用
input()获取用户输入,转成整数类型(因为原列表里的编号是整数)。 - 查询逻辑:判断输入的编号是否在字典的键中,存在就按指定格式输出,不存在则提示。
测试时输入3,就会输出你预期的内容:Employee with this No. is Deseo and his birthday is 12/25/1998.
内容的提问来源于stack exchange,提问作者Griffin De Leon
相关产品推荐
相关产品推荐

