Python学习

python 学生名片管理系统


import os
class Student(object):
    def print_menu(self):
        """打印菜单"""  # 函数文档说明
        print("=" * 50)
        print("学生名片管理系统V1.0")
        print("1、添加学生名片")
        print("2、查找学生名片")
        print("3、修改学生名片")
        print("4、删除学生姓名")
        print("5、显示所有学生名片")
        print("6、保存学生名片")
        print("0、退出系统")
        print("=" * 50)
    def add_infor(self):
        new_name = input("请输入姓名:")
        new_sex = input("请输入性别:")
        new_phone = input("请输入手机号:")
        new_class = input("请输入班级:")
        # 创建字典
        new_infor = {}
        # 将一个学生的信息存进字典
        new_infor["name"] = new_name
        new_infor["sex"] = new_sex
        new_infor["phone"] = new_phone
        new_infor["class"] = new_class
        # 将一个学生名片存储到列表中。
        # 列表的添加操作:append() 排队、insert()插队、extend()连接合并
        global card_infors
        card_infors.append(new_infor)
        
    def find_infor(self):
        """根据姓名查找名片"""
        find_name = input("请输入要查找的学生姓名:")
        # 遍历列表中的每一个字典,判断键name对应的值是不是要查找的姓名
        global card_infors
        for temp in card_infors:
            if temp["name"] == find_name:  # 找到了
                # 显示该名片信息
                print("姓名:{}\t性别:{}\t手机号:{}\t班级:{}".format(temp["name"], temp["sex"], temp["phone"], temp["class"]))
                break
        else:
            print("{}不存在".format(find_name))

    def modify_infor(self):
        """根据姓名修改名片"""
        old_name = input("请输入要修改的姓名:")
        new_name = input("请输入新的姓名:")
        new_sex = input("请输入新的性别:")
        new_phone = input("请输入新的手机号:")
        new_class = input("请输入新的班级:")
        # 根据姓名定位到名片
        global card_infors
        for temp in card_infors:
            if temp["name"] == old_name:
                temp["name"] = new_name
                temp["sex"] = new_sex
                temp["phone"] = new_phone
                temp["class"] = new_class
                print("修改成功!")
                break
        else:
            print("{}不存在,修改失败!".format(old_name))

    def delete_infor(self):
        """根据姓名删除学生名片"""
        del_name = input("要删除的学生姓名:")
        # 根据姓名定位到要删除的名片
        global card_infors
        for temp in card_infors:
            if temp["name"] == del_name:  # 找到了要删除的名片
                # 列表的删除操作:del[下标]、pop、remove(元素)
                card_infors.remove(temp)
                print("删除成功!")
                break
        else:
            print("{}不存在,删除失败!".format(del_name))

    def show_infor(self):
        """显示学生名片"""
        global card_infors
        if len(card_infors) > 0:
            print("学生名片如下:")
            for temp in card_infors:
                # 显示字典中每一个元素的值
                print("姓名:{}\t性别:{}\t手机号:{}\t班级:{}".format(temp["name"], temp["sex"], temp["phone"], temp["class"]))
        else:
            print("没有学生名片信息!")

    def save_infor(self):
        """保存学生名片信息到文件backup.data中"""
        try:
            with open("backup.data", "w") as save_file:
                save_file.write(str(card_infors))
        except Exception as err:
            print("异常发生了:", err)
            print("保存失败")
        else:
            print("保存成功!")

    def load_infor(self):
        """加载文件backup.txt中的内容到card_infors"""
        if os.path.isfile("backup.data"):
            try:
                with open("backup.data") as f:
                    content = f.read()
                    global card_infors
                    card_infors = eval(content)
            except:
                pass
card_infors = []
stu=Student()
while True:
    stu.print_menu()
    try:
        stu.load_infor()
        num=int(input('请输入功能序号:'))
        if num==1:
            stu.add_infor()
        elif num==2:
            stu.find_infor()
        elif num==3:
            stu.modify_infor()
        elif num==4:
            stu.delete_infor()
        elif num==5:
            stu.show_infor()
        elif num==6:
            stu.save_infor()
        elif num==0:
            quitconfirm = input("亲,真的要退出么 (yes或者no)")
            if quitconfirm == 'yes':
                print("程序结束,谢谢使用。")
                break
        else:
            print("输入错误,请重新输入。")
    except ValueError:
        print('请输入数字。')



class Animal:
    def go_sleep(self):
        print("睡觉")
class Bird(Animal):
    def go_sleep(self):
        print('a bird sleeps in tree')
class Fish(Animal):
    def go_sleep(self):
        print('a fish sleeps in tree')
class Person(Animal):
    def go_sleep(self):
        print('a person sleeps in tree')
bird=Bird()
fish=Fish()
person=Person()

bird.go_sleep()
fish.go_sleep()
person.go_sleep()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值