You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编程新手求助:如何通过输入指定要查询信息的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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:01:46