学生管理系统(改进版)

'''

环境:python3.6.4
编写"学生管理系统"(改进版),初步要求如下:
必须使用自定义函数,完成对程序的模块化
学生信心至少包含:姓名、年龄、学号,除此以外可以适当添加
必须完成的功能:添加、删除、修改、查询、遍历、退出
'''

#定义一个列表用来存储多个学生的信息
stuList = []

#定义系统菜单显示函数
def displayMenu():
  #完成显示系统菜单的功能
  print("*"*40)
  print(" 学 生 管 理 系 统 V2.0")
  print(" 1. 添加学生信息")
  print(" 2. 删除学生信息")
  print(" 3. 修改学生信息")
  print(" 4. 查询学生信息")
  print(" 5. 遍历学生信息")
  print(" 6. 退出学生管理系统")
  print("*"*40)

def addNewStu():
  #完成添加学生信息的功能
  name = input("请输入学生的姓名:")
  stuId = input("请输入学生的学号:")
  age = input("请输入学生的年龄:")

  #定义一个字典用来存储每个学生的信息
  stuDict = {}
  stuDict['name'] = name
  stuDict['stuId'] = stuId
  stuDict['age'] = age

  global stuList
  #将每个学生的信息添加到列表中
  stuList.append(stuDict)

def delStu():
  global stuList
  #完成删除学生信息的功能
  delName = input("请输入你要删除的学生的姓名:")
  delFlag = 0
  for tempStu in stuList:
    if delName == tempStu['name']:
      delNum = stuList.index(tempStu) #获取要删除的学生所在列表中的索引
      del stuList[delNum] #按索引删除
      delFlag = 1 #删除成功
      break
  if delFlag == 0:
    print("没有此人,请重新输入!")

def reviseStu():
  global stuList
  #完成修改学生信息的功能
  reviseName = input("请输入你要修改信息的学生姓名:")
  reviseFlag = 0
  for tempStuDict in stuList:
    if reviseName == tempStuDict['name']:
      #修改学生的信息
      newStuId = input("请输入要修改后学生的学号:")
      newAge = input("请输入要修改后学生的年龄:")
      tempStuDict['stuId'] = newStuId
      tempStuDict['age'] = newAge
      reviseFlag = 1
      break
  if reviseFlag == 0:
    print("没有此人,请重新输入!")

def inquireStu():
  global stuList
  #完成查询学生信息的功能
  inquireName = input("请输入你要查询的学生的姓名:")
  inquireFlag = 0
  for temp in stuList:
    if inquireName == temp['name']:
      print("%s\t%s\t%s"%(temp['name'], temp['stuId'], temp['age']))
      inquireFlag = 1 #表示查询成功
      break
  if inquireFlag == 0:
    print("查无此人...")

def bianliStu():
  #完成遍历学生信息的功能
  print("姓名\t学号\t年龄")
  for tempStu in stuList:
  print("%s\t%s\t%s"%(tempStu['name'], tempStu['stuId'], tempStu['age']))


def main():
  #菜单显示
  #1. 提示用户选择功能
  displayMenu()

  while True:
    #2. 获取用户的输入
    key = int(input("请输入你选择的功能序号:"))

    if key == 1:
      addNewStu()
    elif key == 2:
      delStu()
    elif key == 3:
      reviseStu()
    elif key == 4:
      inquireStu()
    elif key == 5:
      bianliStu()
    elif key == 6:
      ssmu = input("亲,确实要退出吗?(y/n) ~~~~>_<~~~~")
    if ssmu == 'y':
      break
    else:
      print("输入有误,请重新输入!")

    print("")

#调用主函数
main()

猜你喜欢

转载自www.cnblogs.com/yxtz271828/p/8973211.html
今日推荐