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)
        # \t : 橫向制表符
        print("="*50 + \
            "\n\t\t學生管理系統1.00版本" + \
            "\n\t\t1:添加學生信息" + \
            "\n\t\t2:刪除學生信息" + \
            "\n\t\t3:修改學生信息" + \
            "\n\t\t4:查找學生信息" + \
            "\n\t\t5:顯示學生信息" + \
            "\n\t\t6:退出學生管理系統\n" + \
            "="*50 )
        #打印一行空白
        print("\n")


    #添加學生信息的函數
    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("\t" + student["name"] +\
                  "\t\t" + student["age"] +\
                  "\t\t" + student["sex"] +\
                  "\t\t" + student["phone"] +\
                  "\t\t" + student["QQ"])
                flag = 1
        #循環結束后判斷       
        if flag == 0:
                print("無此人信息")
       
        
    #顯示學生信息函數              
    def show_info(self):
        print("\t\t\t\t當前學生信息\n" + \
              "-"*80 + "\n\t姓名\t\t年齡\t\t性別\t\t電話\t\tQQ")
        for student in self.students:
            print("\t" + student["name"] +\
                  "\t\t" + student["age"] +\
                  "\t\t" + student["sex"] +\
                  "\t\t" + student["phone"] +\
                  "\t\t" + student["QQ"])
            
        print("-"*80,"\n")


    #保存信息
    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("\t\t操作指令\n" + \
                  "~"*50 + \
                  "\n 1:添加|2:刪除|3:修改|4:查找|5:顯示|6:退出 \n" + \
                  "~"*50 )
            #輸入的內容都當做字符串
            input_num = input("請按照提示輸入相應的指令:")
            

            #判斷用戶輸入的內容
            if input_num == "1":
                #print("增加\n")
                self.add_info()
            elif input_num == "2":
                #print("刪除\n")
                self.delete_info()
            elif input_num == "3":
                #print("修改\n")
                self.modify_info()
            elif input_num == "4":
                #print("查找\n")
                self.find_info()
            elif input_num == "5":
                #print("顯示\n")
                self.show_info()
            elif input_num == "6":
                print("退出\n")
                break
            else: 
                print ("請不要瞎玩,這里需要輸入對應的數字!\n")
                
                   
#創建實例對象,調用方法             
studentSys().main()
3.文件和軟件IDLE (在IDLE編碼后運行即可增刪改查)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM