(學(xué)生管理系統(tǒng)簡易版)
用一個變量來保存一個班級的學(xué)生信息盏阶,學(xué)生信息包括:姓名萄涯、學(xué)號绪氛、成績(英語、體育涝影、美術(shù)枣察、數(shù)學(xué))、年齡
b.給這個班級添加學(xué)生
c.根據(jù)姓名查看班級里的某個學(xué)生的信息
d.根據(jù)姓名刪除一個指定的學(xué)生信息
e.查看班級的所有的學(xué)生信息
f.求指定的學(xué)生平均成績
提示:用一個列表來存整個班級的學(xué)生信息;列表的每個元素是字典序目,來存儲每個學(xué)生的信息
stus = [] # 創(chuàng)建一個列表用來存放班級學(xué)生信息
def add_stu():
# 創(chuàng)建一個函數(shù)用來添加學(xué)生
infors = {}
# 創(chuàng)建一個用來存放輸入學(xué)生信息的字典
name = input('請輸入要添加學(xué)生的姓名: ')
infors['name'] = name.title()
seq = input('請輸入要添加學(xué)生的學(xué)號: ')
infors['seq'] = seq
en_score = input('請輸入要添加學(xué)生的英語成績: ')
infors['en_score'] = en_score
ph_score = input('請輸入要添加學(xué)生的體育成績: ')
infors['ph_score'] = ph_score
art_score = input('請輸入要添加學(xué)生的美術(shù)成績: ')
infors['art_score'] = art_score
math_score = input('請輸入要添加學(xué)生的數(shù)學(xué)成績: ')
infors['math_score'] = math_score
age = input('請輸入要添加學(xué)生的年齡: ')
infors['age'] = age
stus.append(infors)
return stus
def search_stu():
name = input('請輸入要查找的學(xué)生的姓名: ')
name = name.title()
index = 0
search_dict = {} # 創(chuàng)建一個字典用來存放重復(fù)姓名學(xué)生的學(xué)號臂痕,下標鍵值對
for stu in stus:
if stu['name'] == name:
print('name: %s, 學(xué)號: %s,' % (stu['name'], stu['seq']))
# 將重復(fù)學(xué)生的學(xué)號對應(yīng)在stus中的下標存放到字典中
search_dict[stu['seq']] = index
index += 1
if not search_dict:
print('您所查找的學(xué)生不在班級里面')
else:
# 使用學(xué)號確認重名
search_num = input('請輸入您要查詢的以上學(xué)生的學(xué)號以確認: ')
search_index = search_dict[search_num]
se_stu = stus[search_index]
print(
'name: %s, 學(xué)號: %s, 英語成績:%s, 體育成績:%s, 美術(shù)成績: %s,數(shù)學(xué)成績: %s,年齡: %s,' %
(se_stu['name'],se_stu['seq'],se_stu['en_score'],se_stu['ph_score'],se_stu['art_score'],
se_stu['math_score'],se_stu['age'])
)
def del_infor():
name = input('請輸入要刪除的學(xué)生的姓名: ')
name = name.title()
index = 0
del_dict = {}
for stu in stus[:]:
if stu['name'] == name:
print('name: %s, 學(xué)號: %s,' % (stu['name'], stu['seq']))
del_dict[stu['seq']] = index
index += 1
if not del_dict:
print('您要刪除的學(xué)生不在班級里面')
else:
del_num = input('請輸入要刪除的學(xué)生的學(xué)號: ')
del_index = del_dict[del_num]
del stus[del_index]
def check_all():
print('班級所有學(xué)生信息如下:')
for stu in stus:
print(
'name: %s, 學(xué)號: %s, 英語成績:%s, 體育成績:%s, 美術(shù)成績: %s,數(shù)學(xué)成績: %s,年齡: %s,' %
(stu['name'], stu['seq'], stu['en_score'], stu['ph_score'], stu['art_score'], stu['math_score'], stu['age'])
)
def avg_score():
name = input('請輸入要求平均成績的學(xué)生的姓名: ')
name = name.title()
index = 0
search_dict = {}
for stu in stus:
if stu['name'] == name:
print('name: %s, 學(xué)號: %s,' % (stu['name'], stu['seq']))
search_dict[stu['seq']] = index
index += 1
if not search_dict:
print('您所查找的學(xué)生不在班級里面')
else:
search_num = input('請輸入您要查詢的以上學(xué)生的學(xué)號以確認: ')
search_index = search_dict[search_num]
se_stu = stus[search_index]
avg = (int(se_stu['en_score']) + int(se_stu['ph_score']) + int(se_stu['art_score']) + int(se_stu['math_score']))/4
print('您要查詢的學(xué)生的平均成績?yōu)?.1f' % (avg))
def main():
while True:
print('歡迎來到非常非常簡易版的學(xué)生管理系統(tǒng)^_^')
print('\n1.添加學(xué)生')
print('\n2.查詢學(xué)生')
print('\n3.刪除學(xué)生')
print('\n4.退出')
step1 = int(input('請輸入您想進行的操作: '))
if step1 == 4:
break
elif step1 == 1:
while True:
add_stu()
print('1.繼續(xù)添加')
print('2.返回上一步')
step2 = int(input('請輸入您想進行的操作: '))
if step2 == 2:
break
elif step1 == 2:
while True:
print('1.查詢指定學(xué)生信息')
print('\n2.查詢所有學(xué)生信息')
print('\n3.查詢指定學(xué)生平均分')
print('\n4.返回上一步')
step3 = int(input('請輸入您想進行的操作: '))
if step3 == 4:
break
elif step3 == 1:
search_stu()
elif step3 == 2:
check_all()
elif step3 == 3:
avg_score()
elif step1 == 3:
while True:
del_infor()
print('1.繼續(xù)刪除')
print('2.返回上一步')
step4 = int(input('請輸入您想進行的操作: '))
if step4 == 2:
break
main()