# 1.写一个程序
"""
a.用一个变量来保存一个班级的学生信息,学生信息包括:姓名、学号、成绩(英语、体育、美术、数学)、年龄
b.给这个班级添加学生
c.根据姓名查看班级里的某个学生的信息
d.根据姓名删除一个指定的学生信息
e.查看班级的所有的学生信息
f.求指定的学生平均成绩
{'name': '',
'NO.': '',
'age': '',
'score': [{'English': '',
'Math': '',
'P.E': '',
'Art': ''}]}
"""
class_py5 = []
scord = []
stu_no = 1
key_name = 'name'
key_no = 'No.'
key_age = 'age'
key_scord = 'scord'
sc_key_english = 'English'
sc_key_math = 'Math'
sc_key_pe = 'P.E'
sc_key_art = 'art'
print('欢迎使用学员管理系统')
while True:
print('★★★★★★★★★★★★★★★')
print('1、添加学生')
print('2、查看学生信息')
print('3、删除学生')
print('4、查看班级所有学生信息')
print('5、求学生的平均成绩')
print('6、退出系统')
print('★★★★★★★★★★★★★★★')
n = input("请选择:")
if n < '1' or n > '6':
print('你的输入有误!请重新输入')
continue
# 当n = 1时开始添加学生信息
m = 1
if n == '1':
while m:
print('请输入添加学生的详细信息')
# 用字典来存储学生的详细信息
class_dict = {}
class_dict[key_name] = input("姓名:")
class_dict[key_no] = '1805' + str(stu_no).rjust(4, '0')
class_dict[key_age] = input("年龄:")
# 用字典来存储学生成绩信息
print('请输入添加学生的各科成绩')
scord_dict = {}
scord_dict[sc_key_english] = int(input("英语:"))
scord_dict[sc_key_math] = int(input('数学:'))
scord_dict[sc_key_pe] = int(input('体育:'))
scord_dict[sc_key_art] = int(input('艺术:'))
scord.append(scord_dict)
class_dict[key_scord] = scord_dict
class_py5.append(class_dict)
print('添加成功!')
stu_no += 1
m = int(input('输入1继续添加,输入0返回上级:'))
continue
# 通过名字查找,得到学生的详细信息
if n == '2':
while m:
if not len(class_py5):
print('系统中没有学生')
break
get_name = input('请输入要查询的学生的姓名:')
flag = True
for i in range(0, len(class_py5)):
if get_name == class_py5[i][key_name]:
print(class_py5[i])
flag = False
if flag:
print('该学生不存在')
m = int(input('输入1继续查找,输入0返回上级:'))
continue
# 通过名字查找,删除学生
if n == '3':
while m:
# 如果没有存入学生
if not len(class_py5):
print('没有学生')
break
get_name = input('请输入要删除的学生的姓名:')
flag = True
a = []
copy_name = []
# 通过名字查找学生
for i in range(0, len(class_py5)):
if get_name == class_py5[i][key_name]:
a.append(i)
copy_name.append(class_py5[i])
# 如果没有重名,直接删除
if len(copy_name) == 1:
del class_py5[i]
flag = False
print('删除成功!')
# 如果有重名选择删除的人
elif len(copy_name) > 1:
for i in range(0, len(copy_name)):
print(copy_name[i])
del_name = int(input('你想删除第几个?')) - 1
del class_py5[a[del_name]]
flag = False
print('删除成功!')
if flag:
print('该学生不存在')
m = int(input('输入1继续删除,输入0返回上级:'))
continue
# 打印所有学生的详细信息
if n == '4':
for i in range(0, len(class_py5)):
print(class_py5[i])
continue
if n == '5':
while m:
sum = 0 # 保存总成绩
get_name = input('请输入要计算平均成绩的学生的姓名:')
for i in range(0, len(class_py5)):
if get_name == class_py5[i][key_name]:
print(scord[i])
sum = scord[i][sc_key_english] +scord[i][sc_key_math] +scord[i][sc_key_pe] + scord[i][sc_key_art]
ave = sum / 4
print('平均成绩为:%.2f' % ave)
m = int(input('输入1继续计算学生的平均成绩,输入0返回上级:'))
continue
if n == '6':
print('程序结束,感谢使用')
break
输出结果:
欢迎使用学员管理系统
★★★★★★★★★★★★★★★
1、添加学生
2、查看学生信息
3、删除学生
4、查看班级所有学生信息
5、求学生的平均成绩
6、退出系统
★★★★★★★★★★★★★★★
请选择:1
请输入添加学生的详细信息
姓名:k
年龄:21
请输入添加学生的各科成绩
英语:82
数学:96
体育:91
艺术:90
添加成功!
输入1继续添加,输入0返回上级:1
请输入添加学生的详细信息
姓名:jx
年龄:22
请输入添加学生的各科成绩
英语:96
数学:75
体育:73
艺术:80
添加成功!
输入1继续添加,输入0返回上级:1
请输入添加学生的详细信息
姓名:k
年龄:23
请输入添加学生的各科成绩
英语:80
数学:65
体育:35
艺术:87
添加成功!
输入1继续添加,输入0返回上级:0
★★★★★★★★★★★★★★★
1、添加学生
2、查看学生信息
3、删除学生
4、查看班级所有学生信息
5、求学生的平均成绩
6、退出系统
★★★★★★★★★★★★★★★
请选择:2
请输入要查询的学生的姓名:k
{'name': 'k', 'No.': '18050001', 'age': '21', 'scord': {'English': 82, 'Math': 96, 'P.E': 91, 'art': 90}}
{'name': 'k', 'No.': '18050003', 'age': '23', 'scord': {'English': 80, 'Math': 65, 'P.E': 35, 'art': 87}}
输入1继续查找,输入0返回上级:1
请输入要查询的学生的姓名:jx
{'name': 'jx', 'No.': '18050002', 'age': '22', 'scord': {'English': 96, 'Math': 75, 'P.E': 73, 'art': 80}}
输入1继续查找,输入0返回上级:0
★★★★★★★★★★★★★★★
1、添加学生
2、查看学生信息
3、删除学生
4、查看班级所有学生信息
5、求学生的平均成绩
6、退出系统
★★★★★★★★★★★★★★★
请选择:4
{'name': 'k', 'No.': '18050001', 'age': '21', 'scord': {'English': 82, 'Math': 96, 'P.E': 91, 'art': 90}}
{'name': 'jx', 'No.': '18050002', 'age': '22', 'scord': {'English': 96, 'Math': 75, 'P.E': 73, 'art': 80}}
{'name': 'k', 'No.': '18050003', 'age': '23', 'scord': {'English': 80, 'Math': 65, 'P.E': 35, 'art': 87}}
★★★★★★★★★★★★★★★
1、添加学生
2、查看学生信息
3、删除学生
4、查看班级所有学生信息
5、求学生的平均成绩
6、退出系统
★★★★★★★★★★★★★★★
请选择:5
请输入要计算平均成绩的学生的姓名:jx
{'English': 96, 'Math': 75, 'P.E': 73, 'art': 80}
平均成绩为:81.00
输入1继续计算学生的平均成绩,输入0返回上级:0
★★★★★★★★★★★★★★★
1、添加学生
2、查看学生信息
3、删除学生
4、查看班级所有学生信息
5、求学生的平均成绩
6、退出系统
★★★★★★★★★★★★★★★
请选择:3
请输入要删除的学生的姓名:k
{'name': 'k', 'No.': '18050001', 'age': '21', 'scord': {'English': 82, 'Math': 96, 'P.E': 91, 'art': 90}}
{'name': 'k', 'No.': '18050003', 'age': '23', 'scord': {'English': 80, 'Math': 65, 'P.E': 35, 'art': 87}}
你想删除第几个?2
删除成功!
输入1继续删除,输入0返回上级:0
★★★★★★★★★★★★★★★
1、添加学生
2、查看学生信息
3、删除学生
4、查看班级所有学生信息
5、求学生的平均成绩
6、退出系统
★★★★★★★★★★★★★★★
请选择:4
{'name': 'k', 'No.': '18050001', 'age': '21', 'scord': {'English': 82, 'Math': 96, 'P.E': 91, 'art': 90}}
{'name': 'jx', 'No.': '18050002', 'age': '22', 'scord': {'English': 96, 'Math': 75, 'P.E': 73, 'art': 80}}
★★★★★★★★★★★★★★★
1、添加学生
2、查看学生信息
3、删除学生
4、查看班级所有学生信息
5、求学生的平均成绩
6、退出系统
★★★★★★★★★★★★★★★
请选择:6
程序结束,感谢使用