增删改查练习2
def show_menu(): # 显示菜单
print('欢迎使用学生管理系统')
print('\t\t 1.增加学生信息')
print('\t\t 2.删除学生信息')
print('\t\t 3.修改学生信息')
print('\t\t 4.查看学生信息')
print('\t\t 5.根据名字查询学生信息')
print('\t\t 6.统计平均年龄')
print('\t\t 7.退出系统*****')
def add_stu(students):
print('\t增加学生信息****')
flag = 'y'
while flag == 'y':
name = input('请输入姓名:')
sex = input('请输入性别:')
age = input('请输入年龄:')
# 创建一个学生字典
stu = {'name':name, 'sex':sex, 'age':age}
students.append(stu)
flag = input('是否继续(y/n)')
print('学生信息增加完成')
return students
def del_stu(students):
print('\t删除学生信息')
print(students)
name = input('请输入删除学生的名字')
delnum =0
for i, stu in enumerate(students):
if stu['name'] == name:
delnum = i # 要删除的位置
break
students.pop(delnum)
print('删除后的数据')
print(students)
def update_stu(students):
print('\t修改学生信息')
print(students)
name = input('请输入要修改学生的名字')
delnum = 0
for i, stu in enumerate(students):
if stu['name'] == name:
delnum = i
break
students.pop(delnum)
name = input('请输入新的名字')
sex = input('请输入新的性别')
age = input('请输入新的年龄')
# 创建一个学生字典
stu = {'name':name, 'sex':sex, 'age':age}
return students.append(stu)
def show_list(students):
print('展示所有学生信息')
for stu in students:
print(stu)
for i, v in enumerate(students):
print(f'第{i + 1}个,值:{v}')
def search_name(students):
print('根据名字查询学生信息')
print(students)
name = input('请输入要查询的学生名字')
delnum = 0
for i, stu in enumerate(students):
if stu['name'] == name:
delnum = i
break
print(students[delnum]) # 根据位置查找
def avg_age(students):
print('统计平均年龄')
print('\t平均年龄')
sum = 0
for stu in students:
sum += int(stu['age'])
print(f'平均年龄:{sum/len(students)}')
if name == 'main':
students = []
while True:
show_menu()
num = int(input('请输入菜单(1-7)'))
if num == 7:
print('感谢使用,退出程序')
flag = input('是否要退出程序(y/n)')
if flag == 'y':
break
elif flag =="n":
continue
elif num == 1 :
students = add_stu(students)
print(f'增加完了,所有的学生总数{len(students)}')
continue
elif num == 2:
del_stu(students)
elif num == 3:
update_stu(students)
elif num == 4:
show_list(students)
elif num == 5:
search_name(students)
elif num == 6:
avg_age(students)
else:
print('输入有误,请重新输入')

浙公网安备 33010602011771号