编程新手求助:如何通过输入指定要查询信息的Employee对象?
嘿,作为编程新手能想到用类来封装员工信息,这个思路真的很棒!你的代码框架已经搭得有模有样了,不过看起来还没完成“通过input指定员工并获取信息”的部分,我来帮你补全并优化一下~
首先,先把你的Employee类完善一下,新增一个能打印所有信息的方法,这样不用分开调用多个打印函数,会更方便:
class Employee: def __init__(self, name, job, salary): self.name = name self.job = job self.salary = salary def print_job(self): print(f"职位: {self.job}") def print_salary(self): print(f"薪资: {self.salary}") # 新增打印全部信息的方法,一站式展示更高效 def print_all_info(self): print(f"员工姓名: {self.name}") self.print_job() self.print_salary()
接下来,我们需要一个“数据库”来存放所有员工实例,最简单的方式就是用列表来存储:
# 模拟员工数据库,把创建好的员工实例都放这里 employee_database = [ Employee("张三", "软件工程师", 15000), Employee("李四", "产品经理", 18000), Employee("王五", "UI设计师", 12000) ]
然后就是核心的“通过input指定员工”功能了,我们写一个函数来实现查找逻辑:
def get_employee_info(): # 获取用户输入的员工姓名 target_name = input("请输入要查询的员工姓名: ") # 遍历数据库找匹配的员工 for employee in employee_database: if employee.name == target_name: print("\n找到该员工信息啦:") employee.print_all_info() return # 如果遍历完都没找到,提示用户 print(f"抱歉,没找到姓名为{target_name}的员工哦") # 调用这个函数,就能启动查询啦 get_employee_info()
运行这段代码后,你输入员工的名字,程序就会自动找到对应的员工并展示所有信息,如果输入的名字不存在,也会给出提示。
给你几个新手友好的小建议:
- 可以给input的内容做个简单处理,比如用
target_name = input(...).strip(),这样能忽略用户输入时不小心加的空格; - 如果员工数量很多,用字典来存会更高效(把员工名字作为键,实例作为值),查找的时候直接
employee_database.get(target_name)就行; - 后续还可以扩展功能,比如新增员工、修改薪资职位,甚至把数据存到本地文件里,慢慢玩起来~
内容的提问来源于stack exchange,提问作者SnitchingAuggie
相关产品推荐
相关产品推荐

