python学生管理系统代码实现

  

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

  

类         类学生:   stuID=" "   name=" "   性别=癕”   classID="零"      #设置ID   def setStuID(自我,stuID):   自我。stuID=stuID      def setName(自我、名称):   self.name=名字      def setSex(自我、性别):   自我。=性      def setClassID(自我,classID):   自我。classID=classID      def getStuId(自我):   返回self.stuID      def getName(自我):   返回self.name      def getSex(自我):   返回self.sex      def getClassID(自我):   返回self.classID   之前      

主函数         进口操作系统   进口再保险   导入系统   进口的字符串   进口的学生      #保存文件   全球FILEPATH   FILEPATH=" student.db "   #临时文件   全球TEMPFILE   TEMPFILE=" temp.db "      #这是菜单   def菜单():   而真正的:   打印”1。添加学生信息”   打印”2。查询学生信息”   打印”3。删除学生信息”   打印“0.辞职”   选择=raw_input(“选择:”)   如果选择==?”:   而真正的:   addStudent ()   opt2=raw_input(“继续添加(Y/N) & # 63;:”)   如果opt2==" Y "或opt2==" Y " opt2==":   继续   其他:   打破   elif选择==?”:   而真正的:   查询()   opt2=raw_input(“继续查询(Y/N) & # 63;:”)   如果opt2==" Y "或opt2==" Y " opt2==":   继续   其他:   打破   elif选择==?”:   而真正的:   delMenu ()   opt2=raw_input(“继续删除(Y/N) & # 63;:”)   如果opt2==" Y "或opt2==" Y " opt2==":   继续   其他:   打破   elif选择==" 0 ":   exitProgram ()   打破   其他:   打印“输入错误”      #添加一个学生   def addStudent ():   斯图=student.Student ()   而真正的:   stuID=raw_input (“ID (001 - 999):”)   001 - 999 #匹配ID   p=re.match (" ^ [0 - 9] {3} $”, stuID)   如果p:   如果stuID==" 000 ":   打印“ID必须是001 - 999”   继续   如果isIDExist (stuID):   打印”ID=% s已经存在!”% stuID   继续   其他:   stu.setStuID (stuID)   打破   其他:   打印“ID必须是001 - 999”      而真正的:   stuName=raw_input(“名字(a - z、a - z 5字符):”)   # 5 a - z - z字符匹配的名字   p=re.match (" ^ [a-zA-Z] {1, 5} $”, stuName)   如果p:   stu.setName (stuName)   打破   其他:   打印”的名字格式错误必须a - z、a - z在5个字符”      而真正的:   stuSex=raw_input(“性(默认是M):”)   #默认值   如果stuSex==啊?   stu.setSex (“M”)   打印”性:M”   打破   如果stuSex==癕”或stuSex==癕”:   stu.setSex (string.upper (stuSex))   打破   #如果stuSex==癕”或stuSex==癕”| | stuSex==" F " stuSex==癋”:   p=re.match (M M ^ | | | F $”, stuSex)   如果p:   stu.setSex (string.upper (stuSex))   打破   其他:   打印“性(M/f)”      而真正的:   stuClass=raw_input(“类(01 - 99):”)   #默认值   如果stuClass==啊?   stu.setClassID (“NULL”)   打印”类:零”   打破   # 00 - 99相匹配   p=re.match (" ^ [0 - 9] {2} $”, stuClass)   如果p:   #摆脱00   如果stuClass==?0”:   打印”类必须01 - 99”   继续   stu.setClassID (stuClass)   打破   其他:   打印”类必须01 - 99”   #保存到文件   file1=开放(FILEPATH,“a”)   打印“ID \ tNAME \ tSEX \ tCLASS”   打印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”)   打印“添加成功!”   file1.close ()      #删除学生菜单   def delMenu ():   打印”1。删除ID”   打印”2。删除包含ID”   选择=raw_input(“选择:”)   如果选择==?”:   delStudentByID ()   elif选择==?”:   delStudentContainsID ()   其他:   打印“输入错误”      #删除包含id   def delStudentContainsID ():   contID=raw_input (“,”)   如果getInfoContainsID (contID)==0:   打印”找不到ID包含\ " % s \ % contID“学生”   返回   选择=raw_input(“你确定删除所有(Y/N):”)   如果不选择==皔”或选择==皔”:   返回   f=开放(FILEPATH,“r”)   tmp=开放(TEMPFILE,“a”)   我=0   在f: eachLine   项=eachLine.split (“\ t”)   #如果不是re.match (contID,物品[0]):   如果项目[0].count (contID)==0:   tmp.write (eachLine)   其他:   我+=1   f.close ()   tmp.close ()   os.remove (FILEPATH)   操作系统。重命名(TEMPFILE FILEPATH)   我打印”删除% d数据”%      #获取包含ID信息   def getInfoContainsID (stuID):   f=开放(FILEPATH)   我=0   在f: eachLine   项=eachLine.split (“\ t”)      如果没有项目[0].count (stuID)==0:   #如果re.match (stuID,物品[0]):   我+=1   如果我==1:   打印“ID \ tNAME \ tSEX \ tCLASS”   打印eachLine,   如果我==0:   返回0   其他:   返回我   f.close ()      #删除学生ID   def delStudentByID ():   delID=raw_input(“删除ID:”)   如果不是isIDExist (delID):   打印”找不到ID=% s学生信息”% delID   返回      getInfoByID (delID)   选择=raw_input(“你确定删除它(Y/N):”)   如果没有(选择==癥”或选择==" Y "):   返回      f=开放(FILEPATH,“r”)   tmp=开放(TEMPFILE,“a”)      在f: eachLine   分=eachLine.split (“\ t”)   如果不是delID[0]==分裂:   tmp.write (eachLine)   tmp.close ()   f.close ()   os.remove (FILEPATH)   操作系统。重命名(TEMPFILE FILEPATH)   打印“删除成功!”      #查询菜单   def查询():   打印”1。查询学生通过ID”   打印”2。查询所有学生”   选择=raw_input(“选择:”)   如果选择==?”:   queryByID ()   elif选择==?”:   queryAll ()   #默认查询所有   elif选择==啊?   queryAll ()   其他:   打印“输入错误!”      #查询ID存在   def isIDExist (ID):   f=开放(FILEPATH)   国旗=0   在f: eachline   temp=eachline.split (“\ t”)   如果临时[0]==ID:   标志+=1   f.close ()   如果标志==0:   返回假   其他:   还真      #被ID删除学生信息   def getInfoByID (stuID):   f=开放(FILEPATH)   我=0   在f: eachLine   项=eachLine.split (“\ t”)   如果项目[0]==stuID:   我+=1   如果我==1:   打印“ID \ tNAME \ tSEX \ tCLASS”   打印eachLine   f.close ()      #查询学生ID   def queryByID ():   queryID=raw_input (“,”)   f=开放(FILEPATH)   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

python学生管理系统代码实现