python面向对象版学生信息管理系统

本文实例为大家分享了python面向对象版的学生信息管理系统的具体代码,供大家参考,具体内容如下

功能:

1.能循环输入内容

2.展示功能

-1.新增名片
-2.显示全部
-3.查询名片
-0.退出系统

3.让用户输入希望执行的操作 例如输入1,2,3,0

4.新增列表

提示用户输入姓名,
输入电话
输入qq号
输入邮箱
提示新增名片成功。

5.显示全部

将所有的名片打印出来,格式如下:
姓名    电话       QQ               邮箱
zs       110    1337765076    110@qq.com

6.查询名片

提示请输入要搜索查找用户的姓名
如果用户存在—>显示用户的信息
-提示用户【1】修改 【2】删除 【0】返回上一级菜单,请选择要执行的操作。
-修改操作,可以修改用户名,电话,qq、邮箱。

删除操作,将用户删除。
返回上一级操作,回到欢迎界面,让用户继续操作。
如果用户不存在–>提示查找的用户不存在。 

class StudentManger(object):
    student_info_lst = []  # 保存所有学生的信息
    @staticmethod
    def show_menu():
        \'\'\'显示所有功能\'\'\'
        print(\'欢迎来到学生管理系统\')
        print(\'新增学员请按[1]\')
        print(\'显示全部请按[2]\')
        print(\'查询学员请按[3]\')
        print(\'退出系统请按[0]\')
 
    def add_student(self):
        \'\'\'这是新增学员的功能\'\'\'
        print(\'-------新增学员功能-------\')
        name = input(\'请输入姓名:\')
        age = input(\'请输入年龄:\')
        gender = input(\'请输入性别:\')
        phone = input(\'请输入手机:\')
        # print(name,age,gender,phone)
        # 将用户输入的信息保存到一个字典中。
        dic = {}
        dic[\'name\'] = name
        dic[\'age\'] = age
        dic[\'gender\'] = gender
        dic[\'phone\'] = phone
        # print(dic)
        # 注意:将用户数的信息保存到全局变量student_info_lst
        # 列表中,让其他功能使用列表中的数据。
        self.student_info_lst.append(dic)
        # print(student_info_lst)
        print(\'添加成功了...\')
 
    def alignment(self,s, space):
        \'\'\'输出对齐\'\'\'
        s1 = s.encode(\'gbk\')
        space = space - len(s1)
        s = s + \' \' * space
        return s
 
    def show_all_student(self):
        print(\'-------显示所有的学员功能-------\')
        if not self.student_info_lst:
            print(\'还没有学员呢,请添加学员\')
            return
 
        # 显示学员的信息
        name = self.alignment(\'name\', 15)
        age = self.alignment(\'age\', 15)
        gender = self.alignment(\'gender\', 15)
        phone = self.alignment(\'phone\', 15)
        print(name, age, gender, phone)
 
        for dic in self.student_info_lst:
            name = dic[\'name\']
            age = dic[\'age\']
            gender = dic[\'gender\']
            phone = dic[\'phone\']
            name = self.alignment(name, 15)
            age = self.alignment(age, 15)
            gender = self.alignment(gender, 15)
            phone = self.alignment(phone, 15)
            print(name, age, gender, phone)
 
    def modify_student_info(self,old_value, msg):
        \'\'\'处理修改用户名时不输入问题\'\'\'
        new_name = input(msg)
        if new_name.strip():
            return new_name
        else:
            return old_value
 
    def deal_student(self,dic):
        action_str = input(\"【1】修改 【2】删除 【0】返回上一级菜单,请选择要执行的操作:\")
        if action_str == \'1\':
            # 第一版修改
            # dic[\'name\'] = input(\'请输入姓名:\')
            # dic[\'age\'] = input(\'请输入年龄:\')
            # dic[\'gender\'] = input(\'请输入性别:\')
            # dic[\'phone\'] = input(\'请输入电话:\')
            # 第二版--输入空格后能继续运行。
            dic[\'name\'] = self.modify_student_info(dic[\'name\'], \'请输入姓名:\')
            dic[\'age\'] = self.modify_student_info(dic[\'age\'], \'请输入年龄:\')
            dic[\'gender\'] = self.modify_student_info(dic[\'gender\'], \'请输入性别:\')
            dic[\'phone\'] = self.modify_student_info(dic[\'phone\'], \'请输入电话:\')
 
            print(\'修改成功!!!\')
 
        elif action_str == \'2\':
            self.student_info_lst.remove(dic)
            print(\'删除成功了!!!\')
        elif action_str == \'0\':
            pass
 
    def search_student_by_name(self):
        \'\'\'搜索学生\'\'\'
        print(\'-------欢迎来到查询学员功能-------\')
        if self.student_info_lst:
            name = input(\'请输入要查询学员的姓名:\')
            for dic in self.student_info_lst:
                if dic[\'name\'] == name:
                    name = self.alignment(\'name\', 15)
                    age = self.alignment(\'age\', 15)
                    gender = self.alignment(\'gender\', 15)
                    phone = self.alignment(\'phone\', 15)
                    print(name, age, gender, phone)
 
                    name = dic[\'name\']
                    age = dic[\'age\']
                    gender = dic[\'gender\']
                    phone = dic[\'phone\']
                    name = self.alignment(name, 15)
                    age = self.alignment(age, 15)
                    gender = self.alignment(gender, 15)
                    phone = self.alignment(phone, 15)
                    print(name, age, gender, phone)
                    # 处理学生信息
                    self.deal_student(dic)
 
                    break
            else:
                print(\'not have such student\')
        else:
            print(\'not have student please add student\')
 
 
while True:
    StudentManger.show_menu()
    student_manager=StudentManger()
    action_str = input(\'请输入你要选择数字:\')
    lst = [\'0\', \'1\', \'2\', \'3\']
    if action_str in lst:
        if action_str == \'1\':
            student_manager.add_student()
        elif action_str == \'2\':
            student_manager.show_all_student()
        elif action_str == \'3\':
            student_manager.search_student_by_name()
        elif action_str == \'0\':
            print(\'三位慢走,欢迎下次光临\')
            break
 
    else:
        print(\'-------sb 输出错了请重新输入...-------\')

运行结果:

python面向对象版学生信息管理系统

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容