学生信息管理系统功能菜单包含:1.添加学生信息 2.删除学生信息3.更新学生信息4.查询学生信息5.统计学生成绩6.退出系统
并且包含输入存在错误时会有系统提示。
stu_info = []
menu_info = ["添加学生信息", "删除学生信息", "更新学生信息",
"查询学生信息", "统计学生信息", "退出系统"]
path1 = "stu_info.txt"
try:
f = open(path1,mode="r",encoding="utf8")
content = f.readlines()
f.close()
except Exception as err:
content=[]
print(err)
def printMainPage():
print("""
==============================
学生信息管理系统功能菜单
1.添加学生信息
2.删除学生信息
3.更新学生信息
4.查询学生信息
5.统计学生成绩
6.退出系统
==============================
""")
select_no = int(input("请输入你的操作选项:"))
return select_no
def addInfo():
print("你选择的功能是:", menu_info[select_no - 1])
stu_no = input("请输入待添加学生学号:")
for i in stu_info:
if i[0] == stu_no:
print("该学生信息已存在,不能再添加")
break
else:
name = input("请输入姓名:")
sex = input("输入性别:")
chines = float(input("语文成绩:"))
math = float(input("数学成绩:"))
english = float(input("英语成绩:"))
stu_info.append([stu_no, name, sex, chines, math, english])
print("信息添加成功")
def delInfo():
print("你选择的功能是:", menu_info[select_no - 1])
stu_no = input("输入待删除学号:")
for i in stu_info:
if int(i[0]) == int(stu_no):
stu_info.remove(i)
print("删除成功")
break
else:
print("学号不存在")
def modifystuInfo():
print("你选择的功能是:", menu_info[select_no - 1])
stu_no = input("输入待修改学号:")
for i in range(len(stu_info)):
if stu_info[i][0] == stu_no:
print(i)
print('选择要修改的信息')
choo = input("1.姓名,2.性别,3.语文,4.数学,5.英语")
if choo == "1":
name = input("输入新姓名")
stu_info[i][1] = name
print('修改完成')
elif choo == "2":
sex = input("输入性别")
stu_info[i][2] = sex
print('修改完成')
elif choo == "3":
chinese = float(input("语文"))
stu_info[i][3] = chinese
print('修改完成')
elif choo == "4":
math = float(input("数学"))
stu_info[i][4] = math
print('修改完成')
elif choo == "5":
english = float(input('英语'))
stu_info[i][5] = english
print('修改完成')
else:
print('输入有误')
break
else:
print("该学生信息未保存")
def showstuInfo():
print("你选择的功能是:", menu_info[select_no - 1])
stu_no = input("输入待查询学号:")
print(stu_info)
for i in stu_info:
if i[0] == stu_no:
print("你查询的学生信息如下:")
print("学号:", stu_no, "姓名:",
i[1], "性别", i[2], sep=" ")
print("语文成绩:%.2f" % i[3], "数学成绩:%.2f" % i[4],
"英语成绩:%.2f" % i[5], sep=" ")
break
else:
print("该学生信息未保存")
def staticinfo():
print("你选择的功能是:", menu_info[select_no - 1])
print("请选择统计所有成绩/个人成绩 1/2")
cho_oput = int(input("1,个人成绩 2,所有成绩"))
if cho_oput ==1:
no = input("请输入学号")
for i in stu_info:
if i[0] == no:
print(i)
sum_score = i[3] + i[4] + i[5]
avg_score = sum_score / 3
print(i[1] + "平均成绩:%2.f" % avg_score, '总成绩:%2.f' % sum_score, sep=" ")
break
else:
print("该学生信息未保存")
elif cho_oput ==2:
if stu_info:
math,chinese,english,count =0,0,0,0
for i in stu_info:
chinese += i[3]
math += i[4]
english += i[5]
count += 1
print("平均语文成绩:%2.f" %(int(chinese)/int(count)), "平均数学成绩:%2.f" %(int(math)/int(count)),
"平均英语成绩:%2.f" %(int(english)/int(count)), sep=" ")
else:
print("暂无学生信息")
else:
print("输入有误,请重新输入!")
def txt_to_info():
if content !=[]:
for i in content:
print(i)
i = i.strip("[").strip(",").replace("'",'').strip().strip("]").split(",")
i1 =[i[j] for j in range(len(i)) if j==0 or j==1 or j==2]
i2 = [float(i[j].strip()) for j in range(len(i)) if j==3 or j==4 or j==5]
i = i1+i2
stu_info.append(i)
def write_txt():
with open(path1,mode="w",encoding="utf8") as f1:
for i in stu_info:
f1.writelines(str(i)+"\n")
f1.close()
print(stu_info)
txt_to_info()
while True:
try:
select_no = printMainPage()
if select_no == 1:
addInfo()
elif select_no == 2:
delInfo()
elif select_no == 3:
modifystuInfo()
elif select_no == 4:
showstuInfo()
elif select_no == 5:
staticinfo()
elif select_no == 6:
print("你选择的功能是:", menu_info[select_no - 1])
print("系统即将退出!")
break
else:
print("输入有误,请重新输入!")
except Exception as err1:
print(err1)
print("输入有误,请重新输入")
write_txt()