zoukankan      html  css  js  c++  java
  • 1、纯python编写学生信息管理系统

    1.效果图

    2.python code:

    class studentSys(object):
        '''
        _init_(self) 被称为类的构造函数或初始化方法,
        self 代表类的实例,self 在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数。
        '''
        def _init_(self):
            #全局变量
            self.students = []#列表[{"name":"刘备", "age":20, "sex":"男"},{"name":"关羽", "age":20, "sex":"男"}]
            "打印输入提示信息"
        def print_menu(self):
            #输出50个连续的等于号(50个=)
            print("="*50)
            # 	 : 横向制表符
            print("="*50 + 
                "
    		学生管理系统1.00版本" + 
                "
    		1:添加学生信息" + 
                "
    		2:删除学生信息" + 
                "
    		3:修改学生信息" + 
                "
    		4:查找学生信息" + 
                "
    		5:显示学生信息" + 
                "
    		6:退出学生管理系统
    " + 
                "="*50 )
            #打印一行空白
            print("
    ")
    
    
        #添加学生信息的函数
        def add_info(self):
            #修改全局变量
            #global students
            #字典
            student = {}
            name = input("请输入要添加学生的姓名:")
            age = input("请输入要添加学生的年龄:")
            sex = input("请输入要添加学生的性别:")
            phone = input("请输入要添加学生的电话:")
            QQ = input("请输入要添加学生的QQ:")
            #往字典里添加输入的数据
            student["name"] = name
            student["age"] = age
            student["sex"] = sex
            student["phone"] = phone
            student["QQ"] = QQ
            #把字典添加到列表(末尾)中去
            self.students.append(student)
            self.save_info()
            
    
        #删除学生信息函数
        def delete_info(self):
            name = input("请输入要删除的学生姓名:")
            for student in self.students:
                if name == student.get("name"):
                    self.students.remove(student)
            self.save_info()
            self.show_info()
            
    
        #修改学生信息函数
        def modify_info(self):
            name = input("请输入要修改学生的姓名:")
            for student in self.students:
                if name == student.get("name"):
                    info = input("请输入要修改的信息标题:")
                    if info == "name":
                        new_name = input("请输入新的姓名:")
                        student["name"] = new_name
                    elif info == "age":
                        new_age = input("请输入新的年龄:")
                        student["age"] = new_age
                    elif info == "sex":
                        new_sex = input("请输入新的性别:")
                        student["sex"] = new_sex
                    elif info == "phone":
                        new_phone = input("请输入新的电话:")
                        student["phone"] = new_phone
                    elif info == "QQ":
                        new_QQ = input("请输入新的QQ:")
                        student["QQ"] = new_QQ
                    else:
                        print("请输入含有的信息标题")
            self.save_info()
            self.show_info()
            
            
    
        #查找学生信息函数
        def find_info(self):
            name = input("请输入要查找的学生姓名:")
            flag = 0 #找到一个就是找到了
            for student in self.students:
                if name == student.get("name"):
                    print(student)
                    print("	" + student["name"] +
                      "		" + student["age"] +
                      "		" + student["sex"] +
                      "		" + student["phone"] +
                      "		" + student["QQ"])
                    flag = 1
            #循环结束后判断       
            if flag == 0:
                    print("无此人信息")
           
            
        #显示学生信息函数              
        def show_info(self):
            print("				当前学生信息
    " + 
                  "-"*80 + "
    	姓名		年龄		性别		电话		QQ")
            for student in self.students:
                print("	" + student["name"] +
                      "		" + student["age"] +
                      "		" + student["sex"] +
                      "		" + student["phone"] +
                      "		" + student["QQ"])
                
            print("-"*80,"
    ")
    
    
        #保存信息
        def save_info(self):
            f = open("students.txt","w")#每次保存都会覆盖,覆盖保存w
            f.write(str(self.students))#保存
            f.close()#关闭资源
    
    
        #读取运行时的信息
        def load_info(self):
            f = open("students.txt","a+")
            f.seek(0)
            content = f.read()
            if len(content) > 0:
                self.students = eval(content)
            f.close()#关闭资源
    
            
        #定义一个入口函数
        def main(self):
            self.print_menu()
            self.load_info()
            while True:
                print("		操作指令
    " + 
                      "~"*50 + 
                      "
     1:添加|2:删除|3:修改|4:查找|5:显示|6:退出 
    " + 
                      "~"*50 )
                #输入的内容都当做字符串
                input_num = input("请按照提示输入相应的指令:")
                
    
                #判断用户输入的内容
                if input_num == "1":
                    #print("增加
    ")
                    self.add_info()
                elif input_num == "2":
                    #print("删除
    ")
                    self.delete_info()
                elif input_num == "3":
                    #print("修改
    ")
                    self.modify_info()
                elif input_num == "4":
                    #print("查找
    ")
                    self.find_info()
                elif input_num == "5":
                    #print("显示
    ")
                    self.show_info()
                elif input_num == "6":
                    print("退出
    ")
                    break
                else: 
                    print ("请不要瞎玩,这里需要输入对应的数字!
    ")
                    
                       
    #创建实例对象,调用方法             
    studentSys().main()
    3.文件和软件IDLE (在IDLE编码后运行即可增删改查)

  • 相关阅读:
    Spring基础——小的知识点
    Spring总结—— IOC 和 Bean 的总结
    UML 类图
    Spring基础—— 泛型依赖注入
    Spring重点—— IOC 容器中 Bean 的生命周期
    Spring基础—— SpEL
    《大话设计模式》学习笔记13:适配器模式
    《大话设计模式》学习笔记12:状态模式
    《大话设计模式》学习笔记11:抽象工厂模式
    《大话设计模式》学习笔记10:观察者模式
  • 原文地址:https://www.cnblogs.com/FlyingLiao/p/10871070.html
Copyright © 2011-2022 走看看