1.写一个程序
a.用一个变量来保存一个班级的学生信息,学生信息包括:姓名、学号、成绩(英语、体育、美术、数学)、年龄
b.给这个班级添加学生
c.根据姓名查看班级里的某个学生信息
d.根据姓名删除一个指定的学生信息
e.查看班级的所有的学生信息
f.求指定的学生平均成绩
学生管理系统
list1=[]
flage=False
while True:
flage1=False
while True:
print("欢迎进入千峰学生管理系统")
print('\n')
print('=========================')
print('1.添加学生')
print('2.查看学生')
print('3.删除学生')
print('q.退出系统')
print('=========================')
mul1=input('>>>')
while True:
if mul1=='1':
dict1 = {}
dict2 = {}
name=input('请输入学生的姓名:')
number=input('请输入学生的学号:')
english_grade=int(input('请输入学生英语成绩:'))
sports_grade = int(input('请输入学生体育成绩:'))
sports_art = int(input('请输入学生美术成绩:'))
sports_math = int(input('请输入学生数学成绩:'))
age=input('请输入学生的年龄:')
dict1['英语成绩']=english_grade
dict1['体育成绩'] = english_grade
dict1['美术成绩'] = english_grade
dict1['数学成绩'] = english_grade
dict2['学生姓名']=name
dict2['学生学号']=number
dict2['学生成绩']=dict1
dict2['学生年龄']=age
list1.append(dict2)
print('1.继续添加')
print('2.返回首页')
mul111=input('>>>')
if mul111=='1':
mul1='1'
continue
elif mul111=='2':
flage1=True
break
else:
print('没有该选项,请返回首页,并严格按照要求进行输入,错误操作将退出系统')
mul112=input('希望留在添加页面请输入1,返回首页请输入2:')
if mul112=='1':
mul1='1'
continue
elif mul112=='2':
flage1 = True
break
else:
flage=True
flage1=True
break
elif mul1=='2':
if list1:
pass
else:
print('数据库中并没有任何同学的信息,请添加学生信息')
num1=input('输入1返回首页,输入2进入添加页面')
if num1=='1':
flage1 = True
break
elif num1=='2':
mul1='1'
continue
else:
flage = True
flage1 = True
break
print('1.查找所有学生')
print('2.根据学生姓名查找学生')
print('3.查询学生的平均成绩')
print('4.返回首页')
flage2=False
while True:
mul121=input('>>>')
if mul121=='1':
for x in list1:
for key2 in x:
if key2!='学生成绩':
print(key2,':',x[key2],sep='',end='\t')
elif key2=='学生成绩':
print(key2,end='')
print('(',end='')
for key22 in x[key2]:
print(key22, ':',x[key2][key22] ,sep='', end='\t')
print(')',end='\t')
print('\n')
elif mul121=='2':
str21=input('请输入要查找的学生姓名:')
num=0
for y in list1:
if str21 == y['学生姓名']:
num=1
for key23 in y:
if key23 != '学生成绩':
print(key23, ':', y[key23], sep='', end='\t')
elif key23 == '学生成绩':
print(key23, end='')
print('(', end='')
for key24 in y[key23]:
print(key24, ':', y[key23][key24], sep='', end='\t')
print(')', end='\t')
print('\n')
if num==0:
print('数据库中并没有该同学,请查询所有学生,确定您是否操作有误')
mul1='2'
continue
elif mul121=='3':
str21 = input('请输入要查找的学生姓名:')
num = 0
sum=0
vag=0
for y in list1:
if str21 in y.values():
num = 1
for key25 in y:
if key25 != '学生成绩':
print(key25, ':', y[key25], sep='', end='\t')
elif key25 == '学生成绩':
print(key25, end='')
print('(', end='')
for key26 in y[key25]:
sum+=int(y[key25][key26])
vag+=1
print(key26, ':',y[key25][key26] , sep='', end='\t')
print(')', end=' ')
print()
print('学生的评价成绩为%f'%(sum/vag))
if num == 0:
print('数据库中并没有该同学,请查询所有学生,确定您是否操作有误')
mul1 = '2'
continue
elif mul121=='4':
flage2=True
flage1 = True
break
else:
print('没有该选项,请返回首页,并严格按照要求进行输入,错误操作将退出系统')
mul122 = input('希望留在查找页面请输入1,返回首页请输入2:')
if mul122 == '1':
mul1 = '2'
break
elif mul122 == '2':
flage2=True
flage1 = True
break
else:
flage = True
flage1 = True
flage2=True
break
if flage2:
break
elif mul1=='3':
if list1:
pass
else:
print('数据库中并没有任何同学的信息,请添加学生信息')
num1=input('输入1返回首页,输入2进入添加页面')
if num1=='1':
flage1 = True
break
elif num1=='2':
mul1='1'
continue
else:
flage = True
flage1 = True
break
name_del = input('请输入要删除学生的姓名:')
list2=[]
num=0
for x in list1[:]:
if name_del in x.values():
print(num,name_del,end='\t')
for key3 in x:
if key3 != '学生成绩':
print(key3, ':', x[key3], sep='', end='\t')
elif key3 == '学生成绩':
print(key3, end='')
print('(', end='')
for key32 in x[key3]:
print( key32, ':', x[key3][key32], sep='', end='\t')
print(')', end='\t')
print('')
list2.append(x)
num+= 1
if num == 0:
print('数据库中并没有该同学,请查询所有学生,确定您是否操作有误')
flage1 = True
break
str3 = int(input('>>>'))
str4 = list2.pop(str3)
list1.remove(str4)
print('1.继续删除')
print('2.返回上一层')
mul13=input('>>>')
if mul13=='1':
mu11 = '3'
continue
elif mul13=='2':
flage1 = True
break
else:
print('没有该选项,请返回首页,并严格按照要求进行输入,错误操作将退出系统')
mul132 = input('希望留在删除页面请输入1,返回首页请输入2:')
if mul132 == '1':
mul1 = '3'
continue
elif mul132 == '2':
flage1 = True
break
else:
flage = True
flage1 = True
break
elif mul1=='q':
flage=True
flage1=True
break
else:
print('没有该功能,请返回首页重新操作')
flage1=True
break
if flage1:
break
if flage:
break
print('你已经退出本系统,欢迎下次登录')
结果:
D:\Python项目\Day5-练习和列表\code\venv\Scripts\python.exe D:/Python项目/Day6-字典/code/05-学生管理系统.py
欢迎进入千峰学生管理系统
=========================
1.添加学生
2.查看学生
3.删除学生
q.退出系统
=========================
1
请输入学生的姓名:we
请输入学生的学号:23
请输入学生英语成绩:34
请输入学生体育成绩:45
请输入学生美术成绩:56
请输入学生数学成绩:67
请输入学生的年龄:23
1.继续添加
2.返回首页
2
欢迎进入千峰学生管理系统
=========================
1.添加学生
2.查看学生
3.删除学生
q.退出系统
=========================
2
1.查找所有学生
2.根据学生姓名查找学生
3.查询学生的平均成绩
4.返回首页
5
没有该选项,请返回首页,并严格按照要求进行输入,错误操作将退出系统
希望留在查找页面请输入1,返回首页请输入2:1
1.查找所有学生
2.根据学生姓名查找学生
3.查询学生的平均成绩
4.返回首页
2
请输入要查找的学生姓名:we
学生姓名:we 学生学号:23 学生成绩(英语成绩:34 体育成绩:34 美术成绩:34 数学成绩:34 ) 学生年龄:23
1
学生姓名:we 学生学号:23 学生成绩(英语成绩:34 体育成绩:34 美术成绩:34 数学成绩:34 ) 学生年龄:23
3
请输入要查找的学生姓名:we
学生姓名:we 学生学号:23 学生成绩(英语成绩:34 体育成绩:34 美术成绩:34 数学成绩:34 ) 学生年龄:23
学生的评价成绩为34.000000
3
请输入要查找的学生姓名:we
学生姓名:we 学生学号:23 学生成绩(英语成绩:34 体育成绩:34 美术成绩:34 数学成绩:34 ) 学生年龄:23
学生的评价成绩为34.000000
4
欢迎进入千峰学生管理系统
=========================
1.添加学生
2.查看学生
3.删除学生
q.退出系统
=========================
3
请输入要删除学生的姓名:we
0 we 学生姓名:we 学生学号:23 学生成绩(英语成绩:34 体育成绩:34 美术成绩:34 数学成绩:34 ) 学生年龄:23
0
1.继续删除
2.返回上一层
1
数据库中并没有任何同学的信息,请添加学生信息
输入1返回首页,输入2进入添加页面1
欢迎进入千峰学生管理系统
=========================
1.添加学生
2.查看学生
3.删除学生
q.退出系统
=========================
q
你已经退出本系统,欢迎下次登录
修改