Python基础---通讯录系统

1.导入模块

import json
   导入json模块,用于处理JSON数据的序列化和反序列化。

2.添加员工信息

def add_employee(employees):
    name = input("请输入员工姓名:")
    age = input("请输入员工年龄:")
    phone = int(input("请输入员工电话:"))
    employees[name] = {"name": name, "age": age, "phone": phone}
    save_employees(employees)
    print("员工信息添加成功!")
  • 提示用户输入员工姓名、年龄和电话。
  • 将员工信息存储在employees字典中,键为员工姓名,值为包含姓名、年龄和电话的字典。
  • 调用save_employees函数保存员工信息。
  • 打印添加成功的消息。

3.删除员工信息

def delete_employee(employees):
    name = input("请输入要删除的员工姓名:")
    if name in employees:
        del employees[name]
        save_employees(employees)
        print("员工信息删除成功!")
    else:
        print("员工不存在!")
  • 提示用户输入要删除的员工姓名。
  • 检查员工是否存在于employees字典中。
  • 如果存在,删除该员工信息并保存。
  • 打印删除成功的消息或提示员工不存在。

4.修改员工信息

def modify_employee(employees):
    name = input("请输入要修改的员工姓名:")
    if name in employees:
        new_name = input("请输入修改后的员工姓名:")
        new_age = input("请输入修改后的员工年龄:")
        new_phone = int(input("请输入修改后的员工电话:"))
        employees[new_name] = {"name": new_name, "age": new_age, "phone": new_phone}
        del employees[name]
        save_employees(employees)
        print("员工信息修改成功!")
    else:
        print("员工不存在!")
  • 提示用户输入要修改的员工姓名。
  • 检查员工是否存在于employees字典中。
  • 如果存在,提示用户输入新的员工姓名、年龄和电话,并更新员工信息。
  • 删除旧的员工信息并保存。
  • 打印修改成功的消息或提示员工不存在。

5.查询员工信息

def search_employee(employees):
    name = input("请输入要查询的员工姓名:")
    if name in employees:
        print(f"员工信息:{employees[name]}")
    else:
        print("员工不存在!")
  • 提示用户输入要查询的员工姓名。
  • 检查员工是否存在于employees字典中。
  • 如果存在,打印员工信息。
  • 否则,提示员工不存在。

6.遍历所有员工信息

def show_employees(employees):
    if employees:
        for name in employees.items():
            print(f"员工姓名:{name}")
    else:
        print("没有员工信息!")
  • 检查employees字典是否为空。
  • 如果不为空,遍历并打印所有员工姓名。
  • 否则,提示没有员工信息。

7.保存员工信息

def save_employees(employees):
    with open("employees.json", "w", encoding="utf-8") as f:
        json.dump(employees, f, ensure_ascii=False, indent=4)
  • 打开employees.json文件,以写入模式。
  • 使用json.dumpemployees字典序列化为JSON格式并写入文件。

8.加载员工信息

def load_employees():
    try:
        with open("employees.json", "r", encoding="utf-8") as f:
            return json.load(f)
    except FileNotFoundError:
        return {}
  • 尝试打开employees.json文件,以读取模式。
  • 使用json.load将文件内容反序列化为字典并返回。
  • 如果文件不存在,返回空字典。

9.主函数

def main():
    employees = load_employees()
    while True:
        print("-" * 40)
        print("欢迎使用节点新火员工管理系统V1.0:")
        print("【1】 添加员工信息")
        print("【2】 删除员工信息")
        print("【3】 修改员工信息")
        print("【4】 查询员工信息(只查询某个员工)")
        print("【5】 遍历所有员工信息")
        print("【6】 退出系统")
        print("-" * 40)
        choice = input("请输入功能序号:")
        if choice == '1':
            add_employee(employees)
        elif choice == '2':
            delete_employee(employees)
        elif choice == '3':
            modify_employee(employees)
        elif choice == '4':
            search_employee(employees)
        elif choice == '5':
            show_employees(employees)
        elif choice == '6':
            print("退出系统!")
            break
        else:
            print("无效的功能序号,请重新输入!")

if __name__ == "__main__":
    main()
  • 加载员工信息。
  • 进入一个无限循环,显示菜单并提示用户输入功能序号。
  • 根据用户输入调用相应的功能函数。
  • 如果用户选择退出系统,则跳出循环。

10.运行截图

总结:

该代码实现了一个简单的员工管理系统,主要功能包括:
  • 添加员工信息
  • 删除员工信息
  • 修改员工信息
  • 查询员工信息
  • 遍历所有员工信息
  • 保存和加载员工信息到JSON文件
通过一个命令行界面,用户可以方便地管理员工信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值