Python student management system code implementation, python student management system

Source: Internet
Author: User

Python student management system code implementation, python student management system

The example in this article shares the code of the python student management system for your reference. The details are as follows:

Class

class Student:   stuID = ""   name = ""   sex = "M"   classID = "NULL"      #set ID    def setStuID(self,stuID):     self.stuID = stuID      def setName(self,name):     self.name = name      def setSex(self,sex):     self.sex = sex        def setClassID(self,classID):     self.classID = classID      def getStuId(self):     return self.stuID      def getName(self):     return self.name      def getSex(self):     return self.sex      def getClassID(self):     return self.classID 

Main Function

import os import re import sys import string import student  #save file global FILEPATH FILEPATH = "student.db" #temporary file  global TEMPFILE TEMPFILE = "temp.db"  #This is menu def menu():   while True :     print "1.Add a student information"     print "2.Query student information"     print "3.Delete a student information"     print "0.Quit"     opt = raw_input("Select:")     if opt == "1":       while True:         addStudent()         opt2 = raw_input("Continue Add(Y/N)?:")         if opt2 == "Y" or opt2 == "y" or opt2 == "":           continue         else:           break     elif opt == "2":       while True:         query()         opt2 = raw_input("Continue Query(Y/N)?:")         if opt2 == "Y" or opt2 == "y" or opt2 == "":           continue         else:           break           elif opt == "3":       while True:         delMenu()         opt2 = raw_input("Continue Delete(Y/N)?:")         if opt2 == "Y" or opt2 == "y" or opt2 == "":           continue         else:           break            elif opt == "0" :       exitProgram()         break      else:       print "Error input"          #Add a student def addStudent() :   stu = student.Student()   while True:     stuID = raw_input("ID(001-999):")     #match ID 001-999     p = re.match("^[0-9]{3}$", stuID)     if p :       if stuID == "000":         print "ID must be 001-999"         continue       if isIDExist(stuID):         print "ID = %s already exist!" % stuID         continue       else :           stu.setStuID(stuID)       break     else:       print "ID must be 001-999"      while True:         stuName = raw_input("Name(a-z,A-Z,5 char):")     #match name a-z A-Z 5 char     p = re.match("^[a-zA-Z]{1,5}$",stuName)     if p :       stu.setName(stuName)       break     else :       print "Name format error must a-z,A-Z,within 5 char"      while True:       stuSex = raw_input("Sex(default is M):")     #default value     if stuSex == "":       stu.setSex("M")       print "Sex:M"       break     if stuSex =="M" or stuSex == "m":       stu.setSex(string.upper(stuSex))       break            #if stuSex == "M" or stuSex == "m" || stuSex == "F" stuSex == "f":     p = re.match("^M|m|F|f$",stuSex)     if p :       stu.setSex(string.upper(stuSex))       break     else :       print "Sex(M/f)"        while True:     stuClass = raw_input("Class(01-99):")     #default value     if stuClass == "":       stu.setClassID("NULL")       print "CLASS:NULL"       break     #match 00-99     p = re.match("^[0-9]{2}$",stuClass)     if p :       #get rid of 00       if stuClass == "00":         print "Class must 01-99"         continue       stu.setClassID(stuClass)       break     else:       print "Class must 01-99"   #save to file       file1 = open(FILEPATH,"a")   print "ID\tNAME\tSEX\tCLASS"   print stu.getStuId(),"\t",stu.getName(),"\t",stu.getSex(),"\t",stu.getClassID()   file1.write(stu.getStuId()+"\t"+stu.getName()+"\t"+stu.getSex()+"\t"+stu.getClassID()+"\n")   print "Add student success!"   file1.close()  #Delete student menu   def delMenu():   print "1.Delete by ID"   print "2.Delete contains ID"   opt = raw_input("Select:")   if opt == "1":     delStudentByID()   elif opt == "2":     delStudentContainsID()   else:     print "Error input"        #Delete contains id     def delStudentContainsID():   contID = raw_input("ID:")   if getInfoContainsID(contID)==0 :     print "Can't find ID contains \"%s\" student" % contID     return   opt = raw_input("Are you sure delete all(Y/N):")   if not opt == "y" or opt == "Y":     return      f = open(FILEPATH,"r")   tmp = open(TEMPFILE,"a")   i=0   for eachLine in f:     items = eachLine.split("\t") #    if not re.match(contID, items[0]):     if items[0].count(contID) ==0:       tmp.write(eachLine)     else:        i+=1      f.close()   tmp.close()   os.remove(FILEPATH)   os.rename(TEMPFILE, FILEPATH)   print "Deleted %d data" % i  #get contains ID information          def getInfoContainsID(stuID):   f = open(FILEPATH)   i=0   for eachLine in f:     items = eachLine.split("\t")          if not items[0].count(stuID) ==0: #    if re.match(stuID,items[0]):       i+=1       if i==1:         print "ID\tNAME\tSEX\tCLASS"       print eachLine,   if i==0:     return 0   else :     return i   f.close()      #Delete student by ID   def delStudentByID():   delID = raw_input("Delete ID:")   if not isIDExist(delID) :     print "Can't find ID = %s student information" % delID     return       getInfoByID(delID)   opt = raw_input("Are you sure delete it(Y/N):")   if not (opt == "Y" or opt == "y"):     return      f = open(FILEPATH,"r")   tmp = open(TEMPFILE,"a")      for eachLine in f:     split = eachLine.split("\t")         if not delID == split[0]:       tmp.write(eachLine)              tmp.close()   f.close()   os.remove(FILEPATH)   os.rename(TEMPFILE, FILEPATH)   print "Delete success!"  #Query menu   def query():   print "1.Query student by ID"   print "2.Query all students"   opt = raw_input("Select:")   if opt == "1":     queryByID()   elif opt == "2":     queryAll()   #default is query all     elif opt == "":     queryAll()     else :     print "Error Input!"        #query ID exist def isIDExist(ID):   f = open(FILEPATH)   flag = 0   for eachline in f:     temp = eachline.split("\t")     if temp[0] == ID:       flag+=1   f.close()   if flag == 0 :     return False   else:     return True    #get information by ID for delete student    def getInfoByID(stuID):   f = open(FILEPATH)   i=0   for eachLine in f:     items = eachLine.split("\t")     if items[0] == stuID:       i+=1       if i==1:         print "ID\tNAME\tSEX\tCLASS"       print eachLine     f.close()         #Query student by ID def queryByID():   queryID = raw_input("ID:")   f = open(FILEPATH) #  lines = f.readlines() #  print lines[0].strip() #  for line in lines: #    a = line.split() #    if queryID == a[1].strip(): #      print line.strip()   flag = 0   for eachline in f:     #split by "\t" get as C array temp[4]     temp = eachline.split("\t") #    print temp[0] , temp[1] , temp[2] , temp[3]     if temp[0] == queryID:       flag+=1       if flag == 1:         print "ID\tNAME\tSEX\tCLASS"       print eachline,   if flag == 0 :     print "Can't find ID = %s student information" % queryID       f.close() #  f = open(FILEPATH) #  readLines = f.readlines()    #  for eachLine in f: #    eachLine #         #    if eachLine == queryID: #      print eachLine #  f.close()  #Query all students   def queryAll():   f = open(FILEPATH,"r")   i=0   for eachLine in f:     i+=1     if i==1:       print "ID\tNAME\tSEX\tCLASS"     print eachLine,   f.close()   if i==0:     print "No data!"  def exitProgram():   print "Thank you Bye!" #  sys.exit()    def init():   if os.path.exists(FILEPATH) :     print "Load file successful"   else:     try:       f = open(FILEPATH,"w")     except Exception:       print "Can't open file"       sys.exit()     finally:       f.close()    if __name__ == '__main__':   init()   menu() 

The above is all the content of this article. I hope it will be helpful for your learning and support for helping customers.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.