python2.面向对象学生管理系统

python2.面向对象学生管理系统,第1张

python2.面向对象学生管理系统

main.py(程序主入口)

#1.导入管理系统模块

from mangerSystem import *

#2.启动管理系统

#保证是当前文件运行才启动管理系统:if -- 创建对象并调用run()方法

if __name__=="__main__":

    student_manager=StudentManager()

    student_manager.run()

student.Py

class Student(object):

    def __init__(self,name,gender,tel):

        #姓名,性别,手机号

        self.name=name

        self.gender=gender

        self.tel=tel

    def __str__(self):

        return f'{self.name},{self.gender},{self.tel}'

# aa=Student("aa","女",111)

# print(aa)

mangerSystem

from  student import *

class StudentManager(object):

    def __init__(self):

        #存储学员数据 -- 列表

        self.student__list=[]

    #一.程序入口函数

    def run(self):

        #1.加载文件里的学员数据

        # self.load_student()

        while True:

            #2.显示功能菜单

            self.showmenu()

            #3.用户输入目标功能序号

            menu_num=int(input("请输入你需要的功能序号:"))

        #4.根据用户输入的序号执行不同的功能 -- 如果用户输入1,执行添加

            if menu_num==1:

                #添加学员

                self.add_student()

            elif menu_num==2:

                #删除学员

                self.del_student()

            elif menu_num==3:

                #修改学员信息

                self.modif_student()

            elif menu_num==4:

                #查询学员信息

                self.search_student()

            elif menu_num==5:

                #显示所有学员信息

                self.show_student()

            elif menu_num==6:

                #保存学员信息

                self.save_student()

            elif menu_num==7:

                #退出系统--退出循环

                # break

                self.load_student()

            elif menu_num == 8:

                # 退出系统--退出循环

                # break

                # 程序想要结束,退出终止while True -- break

                exit_flag = input("确定要退出吗?yes or no")

                if exit_flag == 'yes':

                    print("退出系统")

                    break

            else:

                print("输入的功能序号有误!")

    #二.系统功能函数

    #2.1显示功能菜单 -- 打印序号功能对应关系--静态

    @staticmethod

    def showmenu():

        print("请选择如下功能:")

        print("1:添加学员")

        print("2:删除学员")

        print("3:修改学员信息")

        print("4:查询学员信息")

        print("5:显示所有学员信息")

        print("6:保存学员信息")

        print("7:加载学员信息")

        print("8:退出系统")

    # 2.2添加学员

    def add_student(self):

        # print("添加学员")

        #1.用户输入姓名,性别,手机号

        name=input("请输入你的姓名:")

        gender=input("请输入你的性别:")

        tel=input("请输入你的手机号:")

 #2.创建学员对象--类,类在student文件里面 先导入student模块,在创建对象

        student=Student(name,gender,tel)

        #3.将该对象添加到学员列表

        self.student__list.append(student)

        # print(123)

        # print(self.student__list)

        print(student)

    # 2.3删除学员

    def del_student(self):

        # print("删除学员")

        #1.用户输入目标学员姓名

        del_name=input("请输入要删除的学员姓名:")

        #2.遍历学员列表,如果用户输入的学员存在,则删除学员对象。否则提示学员不存在

        for i in self.student__list:

            if del_name==i.name:

                #删除学员对象

                # self.student__list.remove(i)

                break

        else:

            #循环正常结束执行代码:循环结束都没有删除任何一个对象,所以说明用户输入的目标学员不存在。

            print("查无此人!")

        print(self.student__list)

    # 2.4修改学员信息

    def modif_student(self):

        #print("修改学员信息")

        # 1.用户输入目标学员姓名

        modify_name=input("请输入要修改的学员姓名:")

        #2遍历列表数据,如果学员存在,修改姓名,性别,手机号。否则提示学员不存在

        for i in self.student__list:

            if modify_name==i.name:

                i.name=input("姓名:")

                i.gender=input("性别:")

                i.tel=input("手机号:")

                print(f"修改学员信息成功,姓名:{i.name},性别:{i.gender},手机号:{i.tel}")

                break

        else:

            print("查无此人!")

    # 2.5查询学员信息

    def search_student(self):

        # print("查询学员信息")

        #1.用户输入目标学员姓名

        search_name=input("请输入你要搜索的学员姓名:")

        #2.遍历列表。如果学员存在打印学员信息,否则提示学员不存在

        for i in self.student__list:

            if search_name==i.name:

                print(f"姓名是:{i.name},性别是:{i.gender},手机号是:{i.tel}")

                break

        else:

            print("查无此人!")

    # 2.6显示所有学员信息

    def show_student(self):

        # print("显示所有学员信息")

        #1.打印表头

        print("姓名t性别t手机号")

        #2.打印学员数据

        for i in self.student__list:

            print(f"{i.name}t{i.gender}t{i.tel}")

    # 2.7保存学员信息

    def save_student(self):

        # print("保存学员信息")

        #1.打印文件

        f=open("student.data","a")

        #2.文件写入数据

        #2.1[学员对象]转换成[字典]

        new_list=[i.__dict__ for i in self.student__list]

        #2.2文件写入 字符串数据

        f.write(str(new_list))

        #3.关闭文件

        f.close()

    # 2.8加载学员信息

    def load_student(self):

    #     print("加载学员信息")

        with open("student.data","r") as file:

            showAll=file.read()

            print(showAll,"n")

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5496185.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存