Python字典操作、简单职员信息管理系统、闰年判断

练习题1


学习字典的基本特征
要求:
1、无


2、怎样创建一个空字典
答:字典名 = {}


3、怎样向字典中添加新的key-value
答:字典名[键名] = 值


4、怎样访问字典中元素
答:字典名[键名]、字典名.get(键名)


5、怎样修改字典中的元素
答:字典名[键名] = 值


6、删除某个元素
答:del 字典名[键名]


7、删除整个字典
答:del 字典名


8、清空整个字典
答:字典名.clear()


9、怎样测量键值对个数
答:len(字典名)


10、怎样获取字典中所有的key
答:字典名.keys()


11、怎样获取字典中所有的value
答:字典名.values()


12、怎样用for循环变量字典
答:遍历key
for key in 字典名.keys():


    遍历value
for key in 字典名.values():


    遍历key、value
for k,v in 字典名.items():

练习题1


1、编程:使用字典来存储一个人的信息(姓名、年龄、学号、QQ、微信、住址等),这些信息来自键盘的输入
提示:
先定义个空字典,然后每从键盘中输入一个信息,就拼装一个key-value存储到字典中即可
答:info_dic = {}
    while True:
        name = input("请输入姓名:")
        info_dic["姓名"] = name
        age = input("请输入年龄:")
        info_dic["年龄"] = age
        student_num = input("请输入学号:")
        info_dic["学号"] = student_num
        qq = input("请输入QQ号码:")
        info_dic["QQ"] = qq
        weiXin = input("请输入微信号:")
        info_dic["微信"] = weiXin
        address = input("请输入地址:")
        info_dic["地址"] = address
        print(info_dic)
        for k, v in info_dic.items():
            print("%s : %s" % (k, v))


# 旧知识点回顾
2、请用函数实现一个判断用户输入的年份是否是闰年的程序
提示:
1.能被400整除的年份 
2.能被4整除,同时不能被100整除的年份
以上2种方法满足一种即为闰年
答:
# 定义函数判断闰年
def runYear(num1):
    # 判断能否整除400,或者(能整除4但是不能整除100)
    if (num1 % 400 == 0) or ((num1 % 4 == 0) and (num1 % 100 != 0)):
        print("%s是闰年" % num1)
    else:
        print("%s不是闰年" % num1)


while True:
    # 获取输入的年份,转为int
    year_input = int(input("请输入年份判断是否是闰年:"))
    # 调用函数判断
    runYear(year_input)

练习题1


1、职员信息管理系统
要求依次从键盘录入每位员工的信息,包括姓名、员工id、身份证号
要求:
1、身份证号十八位,要求除了第18位可以为x,其余都只能为数字
2、id须由5位数字组成
3、否则提示用户重新输入不符合规则的那几项
4、能随时查看已录入的员工及其信息
答:
info_list = []


# 123456789123456789
while True:
    # 1、界面
    print("--------职员信息管理系统---------")
    print("-----1、添加员工信息-----")
    print("-----2、删除员工信息-----")
    print("-----3、修改员工信息-----")
    print("-----4、查询员工信息-----")
    print("-----5、查询所有员工信息-")
    print("-----6、退出循环-----")
    print("-" * 30)


    # 2、输入,接收用户输入的数字,执行相应的操作
    command = int(input("请输入你的操作:"))


    # 3、通过判断用户输入的数字是1,还是2,还是3...执行相应操作
    if command == 1:
        # 添加员工信息
        name = input("请输入员工姓名:")
        worker_id = input("请输入员工id:")
        if (len(worker_id) == 5) and (worker_id.isdigit()):
            card_id = input("请输入身份证号:")
            if len(card_id) == 18 and (card_id.isdigit() or (card_id[0:17].isdigit() and card_id[-1] in "xX")):
                info_list.append({"姓名": name, "id": worker_id, "身份证": card_id})
                print("【info】:添加成功")
                print(info_list)
            else:
                print("【ERROR】:身份证必须是18位,除了第18位可以为x,其余只能是数字")
        else:
            print("【ERROR】:员工id必须是五位数字组成")


    elif command == 2:
        # 删除员工信息
        print(info_list)
        name = input("删除:请输入姓名:")
        for i in info_list:
            if name in i.values():
                del info_list[info_list.index(i)]
                print("【info】:删除成功")
                print(info_list)
                break
        else:
            print("【Error】:查无此人")
    elif command == 3:
        # 修改员工信息
        name = input("修改:请输入姓名:")
        for i in info_list:
            if name in i.values():
                worker_id = input("请输入修改后的员工id:")
                if (len(worker_id) == 5) and (worker_id.isdigit()):
                    card_id = input("请输入修改后的身份证号:")
                    if len(card_id) == 18 and (card_id.isdigit() or (card_id[0:17].isdigit() and card_id[-1] in "xX")):
                        info_list[info_list.index(i)] = {"姓名": name, "id": worker_id, "身份证": card_id}
                        print(info_list)
                        print("【info】:修改成功")
                        break
                    else:
                        print("【ERROR】:身份证必须是18位,除了第18位可以为x,其余只能是数字")
                else:
                    print("【ERROR】:员工id必须是五位数字组成")
        else:
            print("【Error】:查无此人")


    elif command == 4:
        # 查询学生信息
        userName = "admin"
        passWord = "123456"
        userName_input = input("请输入你的用户名:")
        passWord_input = input("请输入你的密码:")
        if (userName == userName_input) and (passWord == passWord_input):
            name = input("查询:请输入姓名:")
            for i in info_list:
                if name in i.values():
                    for k, v in i.items():
                        print("%s : %s" % (k, v))
                    break
            else:
                print("【Error】:查无此人")
        else:
            print("【Error】:用户名或密码错误")
    elif command == 5:
        # 查询所有学生信息
        userName = "admin"
        passWord = "123456"
        userName_input = input("请输入你的用户名:")
        passWord_input = input("请输入你的密码:")
        if (userName == userName_input) and (passWord == passWord_input):
            for i in info_list:
                for k, v in i.items():
                    print("%s : %s" % (k, v))
                    print("----------------")
        else:
            print("【Error】:用户名或密码错误")


    elif command == 6:
        # 退出系统
        print("退出系统成功,谢谢使用")
        break
    else:
        print("【Error】:请输入1-6之间的整数")








提示:
1、字符串.isdigit()可以判断字符串是否是全是数字
2、if 字符串[-1] in "xX" 判断最后一个是不是x或X
3、每位职员的信息可以用字典保存,然后添加到一个职员列表中进行管理,如果要查看时,遍历这个职员列表即可






你可能感兴趣的:(Python)