python_Daily practice (每日一练) 47

职员信息管理系统
要求依次从键盘录入每位员工的信息,包括姓名、员工id、出生年月、籍贯、身份证号、入职时间
身份证号十八位,要求除了第18位可以为x,其余都只能为数字
id须由数字组成
否则提示用户重新输入不符合规则的那几项
要求能随时查看已录入的员工及其信息
参考代码

# coding=utf-8
# 存放所有员工信息的列表
info_list = []
while True:
    print("      职员信息管理系统")
    print("1.添加新员工信息")
    print("2.删除员工信息")
    print("3.编辑员工信息")
    print("4.查看所有员工信息")
    print("5.退出")

    cmd = input("请输入命令:")
    # 添加名片
    if cmd == "1":
        # 获取用户输入
        info = {}
        name = input("请输入员工姓名:")
        id_cart = input("请输入身份证号:")
        work_id = input("请输入工作id:")
        birthday = input("请输入出生年月:")
        home_address = input("请输入籍贯:")
        first_day = input("请输入入职时间:")
        # 检测身份证号码格式是否正确,除了第18位可以为x,其余都只能为数字
        if len(id_cart) == 18 and id_cart[0:17].isdigit() and id_cart[17:] in "xX0123456789":
            # 符合要求的话,可以什么都不用做
            pass
        else:
            # 否则提示输入有误,并重新输入
            print("请输入有效的身份证号格式")
            print("请重新输入")
            continue
        # 检测工作id是不是为纯数字
        if not work_id.isdigit():
            print("工作id必须是纯数字")
            print("请重新输入")
            continue
        # 生成存储有该员工信息的字典
        info = {"name":name,"id_cart":id_cart,"work_id":work_id,"birthday":birthday,"home_address":home_address,"first_day":first_day}
        # 添加到员工信息列表中
        info_list.append(info)
        print("添加成功")
    # 删除名片
    if cmd == "2":
        name2 = input("请输入要删除的员工的名字:")
        info = ''
        for i in info_list:
            # 找到后,赋值给info
            if i["name"] == name2:
                info = i
        # 如果没找到name2员工,表明info是"",则不进行删除操作
        if info != "":
            info_list.remove(info)
            print("删除成功")
            info = ""
    # 编辑名片
    if cmd == "3":
        name3 = input("请输入需要编辑的员工的名字:")
        info = ''
        for i in info_list:
            # 找到后,赋值给info
            if i["name"] == name3:
                 info = i
        # 如果没找到name3员工,表明info是"",所以不进行编辑操作
        if info != "":
            birthday = input("请输入出生年月:")
            home_address = input("请输入籍贯:")
            first_day = input("请输入入职时间:")
            info = {"birthday":birthday,"home_address":home_address,"first_day":first_day}
            info = ''
            print("编辑成功")
        else:
            print("没有员工%s的信息"%name)
    # 查看名片
    if cmd == "4":
        i = 1
        # 遍历列表,每一个c就是每位员工的个人信息
        for c in info_list:
            print("%d. "%i,c)
            i += 1
    # 退出
    if cmd == "5":
        break
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值