学生管理系统version2
其中没有了标志flag,直接用数组的下标作为traverse函数的返回值
students = []
name = ""
sex = ""
stuID = ""
def traverse(num):
for i in range(len(students)):
if students[i]['stuID'] == num:
return i
return -1
def selectStu():
stunum = input("请输入要查询学生的学号:")
n=traverse(stunum)
if n!=-1:
print("该同学存在")
else:
print("没有此同学,查询失败!")
print()
return n
def insertStu():
global name
global sex
global stuID
number = input("请输入学生学号:")
f=traverse(number)
if f!=-1:
print("该同学存在,无需添加")
if f == -1:
inform = {}
name = input("请输入学生姓名:")
sex = input("请输入学生性别:")
inform['name'] = name
inform['sex'] = sex
inform['stuID'] = number
students.append(inform)
print("学生添加成功!")
print()
def deleteStu():
n = selectStu()
if n != -1:
print("确定要删除该学生信息吗?Y/N")
while True:
m = input("请输入Y(是)/N(否)")
if m=="Y":
students.remove(students[n])
print("删除成功!")
break
if m=="N":
print("取消删除操作!")
break
else:
print("输入错误,重新输入")
if n == -1:
print("没有此学生,删除失败!")
print()
def editStu():
n =selectStu()
if n != -1:
while True:
num = input("请选择——1.修改姓名 2.修改性别 3.修改学号 4.退出修改\n")
if num == '1':
newname = input("输入更改后的姓名:")
students[n]['name'] = newname
elif num == '2':
newsex = input("输入更改后的性别:")
students[n]['sex'] = newsex
elif num == '3':
newID = input("输入更改后的学号:")
students[n]['stuID'] = newID
elif num == '4':
break
else:
print("输入错误,重新输入")
print("修改成功!")
else:
print("没有此学生,修改失败!")
def display():
print("学生的信息如下:")
print("学号\t姓名\t性别")
for temp in students:
print("%4s\t%4s\t%4s\t" % (temp['stuID'], temp['name'], temp['sex']))
print()
def quit():
print("即将退出系统")
print()
def menu():
print("****学生管理系统****")
print("1.添加学生信息")
print("2.查询学生信息")
print("3.删除学生信息")
print("4.修改学生信息")
print("5.显示学生信息")
print("6.退出系统")
def main():
while True:
menu()
key = input("请输入选择操作的序号:")
if key == '1':
insertStu()
elif key == '2':
selectStu()
elif key == '3':
deleteStu()
elif key == '4':
editStu()
elif key == '5':
display()
elif key == '6':
quit()
break
else:
print("操作错误!请重新输入")
main()