import time
#
def print_info():
print("=" * 30)
print("欢迎使用学生管理系统")
print("1. 添加学生信息")
print("2. 修改学生信息")
print("3. 删除学生信息")
print("4. 查询学生信息")
print("5. 计算平均年龄")
print("6. 退出系统")
print("=" * 30)
def add_student(): # 添加学生信息
global student_info # 声明函数中要修改的是全局变量student_info
dict_1 = {}
name = input("请输入学生的姓名:")
age = int(input("请输入学生的年龄:"))
sex = input("请输入学生的性别:")
id = input("请输入学生的号码:")
dict_1["name"] = name # 通过key添加value
dict_1["age"] = age
dict_1["sex"] = sex
dict_1["id"] = id
student_infor.append(dict_1) # 将字典追加到列表的一个元素
# student_infor = [{'name': 'zhangsna ', 'age': '20', 'sex': 'nv', 'id': '123456y'}]
def alter_student():
list_2= []
opp_name = input("请输入要删除的学生姓名")
for i in student_infor:
for k, v in i.items():
if k == 'name':
list_2.append({k: v})
num_3 = list_2.index({"name": opp_name})
# global student_infor
name = input("请输入新的学生的姓名:")
if len(name) > 0:
student_infor[num_3]["name"] = name
age = input("请输入新的年龄")
if len(age) > 0:
student_infor[num_3]["age"] = age
id = input("请输入新的id")
if len(id) > 0:
student_infor[num_3]["id"] = id
sex = input("请输入新的性别")
if len(sex) > 0:
student_infor[num_3]["sex"] = sex
def opp_student():
list_2 = []
opp_name = input("请输入要删除的学生姓名")
for i in student_infor:
for k, v in i.items():
if k == 'name':
list_2.append({k: v})
num_3 = list_2.index({"name": opp_name})
# global student_infor
del student_infor[num_3]
def show_student(): # 显示学生信息
num_1= input("根据序号查询还是根据姓名查询(0根据序号,1根据姓名,2显示所有)")
if num_1 == "1":
list_2 = []
new_name = input("请输入要查查询的学生姓名")
for i in student_infor:
for k, v in i.items():
if k == 'name':
list_2.append({k: v})
num_3 = list_2.index({"name": new_name})
print(student_infor[num_3])
elif num_1 == "0":
show_num = int(input("请输入您要查询的学生序号:(0代表查询所有的学生信息)"))
if show_num != 0:
for i, j in student_infor[show_num - 1].items():
print(i, j)
elif show_num == 0:
for temp in student_infor: # 遍历列表
m = 1 # 索引
for x, y in temp.items():
print(m, x, y)
m += 1
time.sleep(2)
elif num_1 == "2":
print(student_infor)
else:
print("输入错误")
def age_1():
m = 0
n = 0
for i in student_infor:
for v in i.values():
if type(v) == int:
# print(v)
m += v
n += 1
print(m / n)
student_infor = []
while True:
print_info()
choise = int(input('请输入您要选择的操作:(1~5)'))
if choise in [1, 2, 3, 4, 5, 6]:
print("您选择的操作是", choise)
if choise == 6:
print("感谢使用该程序")
num_1 = input("您确定要退出程序吗:(y/n)")
if num_1 == "y":
break
elif num_1 == "n":
continue
elif choise == 1:
print("您选择的操作是1")
add_student()
print(student_infor)
elif choise == 2:
print("您选择的操作是修改学生信息")
alter_student()
print(student_infor)
elif choise == 3:
print("您选择的操作是删除学生信息")
opp_student()
elif choise == 4:
print("您选择的操做是查看学生信息")
show_student()
elif choise == 5:
print("您选择的是计算平均年龄")
age_1()
else:
print("输入有误请重新输入")