运行环境:python3.6.4
编写"学生管理系统"(改进版),初步要求如下:
必须使用自定义函数,完成对程序的模块化
学生信心至少包含:姓名、年龄、学号,除此以外可以适当添加
必须完成的功能:添加、删除、修改、查询、遍历、退出
1 #定义一个列表用来存储多个学生的信息 2 stuList = [] 3 4 #定义系统菜单显示函数 5 def displayMenu(): 6 #完成显示系统菜单的功能 7 print("*"*40) 8 print(" 学 生 管 理 系 统 V2.0") 9 print(" 1. 添加学生信息") 10 print(" 2. 删除学生信息") 11 print(" 3. 修改学生信息") 12 print(" 4. 查询学生信息") 13 print(" 5. 遍历学生信息") 14 print(" 6. 退出学生管理系统") 15 print("*"*40) 16 17 def addNewStu(): 18 #完成添加学生信息的功能 19 name = input("请输入学生的姓名:") 20 stuId = input("请输入学生的学号:") 21 age = input("请输入学生的年龄:") 22 23 #定义一个字典用来存储每个学生的信息 24 stuDict = {} 25 stuDict['name'] = name 26 stuDict['stuId'] = stuId 27 stuDict['age'] = age 28 29 global stuList 30 #将每个学生的信息添加到列表中 31 stuList.append(stuDict) 32 33 def delStu(): 34 global stuList 35 #完成删除学生信息的功能 36 delName = input("请输入你要删除的学生的姓名:") 37 delFlag = 0 38 for tempStu in stuList: 39 if delName == tempStu['name']: 40 delNum = stuList.index(tempStu) #获取要删除的学生所在列表中的索引 41 del stuList[delNum] #按索引删除 42 delFlag = 1 #删除成功 43 break 44 if delFlag == 0: 45 print("没有此人,请重新输入!") 46 47 def reviseStu(): 48 global stuList 49 #完成修改学生信息的功能 50 reviseName = input("请输入你要修改信息的学生姓名:") 51 reviseFlag = 0 52 for tempStuDict in stuList: 53 if reviseName == tempStuDict['name']: 54 #修改学生的信息 55 newStuId = input("请输入要修改后学生的学号:") 56 newAge = input("请输入要修改后学生的年龄:") 57 tempStuDict['stuId'] = newStuId 58 tempStuDict['age'] = newAge 59 reviseFlag = 1 60 break 61 if reviseFlag == 0: 62 print("没有此人,请重新输入!") 63 64 def inquireStu(): 65 global stuList 66 #完成查询学生信息的功能 67 inquireName = input("请输入你要查询的学生的姓名:") 68 inquireFlag = 0 69 for temp in stuList: 70 if inquireName == temp['name']: 71 print("%s %s %s"%(temp['name'], temp['stuId'], temp['age'])) 72 inquireFlag = 1 #表示查询成功 73 break 74 if inquireFlag == 0: 75 print("查无此人...") 76 77 def bianliStu(): 78 #完成遍历学生信息的功能 79 print("姓名 学号 年龄") 80 for tempStu in stuList: 81 print("%s %s %s"%(tempStu['name'], tempStu['stuId'], tempStu['age'])) 82 83 84 def main(): 85 #菜单显示 86 #1. 提示用户选择功能 87 displayMenu() 88 89 while True: 90 #2. 获取用户的输入 91 key = int(input("请输入你选择的功能序号:")) 92 93 if key == 1: 94 addNewStu() 95 elif key == 2: 96 delStu() 97 elif key == 3: 98 reviseStu() 99 elif key == 4: 100 inquireStu() 101 elif key == 5: 102 bianliStu() 103 elif key == 6: 104 ssmu = input("亲,确实要退出吗?(y/n) ~~~~>_<~~~~") 105 if ssmu == 'y': 106 break 107 else: 108 print("输入有误,请重新输入!") 109 110 print("") 111 112 #调用主函数 113 main()
测试结果如下: