"""------ __author__ == 李 墨 ------"""
import json
def lm_welcome():
print('='*40)
print('??歡迎李墨??',end='\n')
print('? 1. 添加學生','? 2. 查看學生','? 3. 修改學生信息','? 4. 刪除學生','? 5. 返回',sep='\n',)
print('='*40)
#歡迎界面
def read_stu_data(filename):
with open(filename,encoding='utf-8') as f_read:
stu_data=f_read.read()
if not stu_data:
stu_data='[{"學號":"stu000","姓名":"李四","年齡":"18","電話":"123456789"}]'
stu_data=json.loads(stu_data)
return stu_data
def write_stu_data(filename,stu_data):
with open(filename,'w',encoding='utf-8') as f_write:
stu_data=json.dumps(stu_data)
f_write.write(stu_data)
def get_stu_id(list_stu):
stu_id=list_stu[-1]["學號"]
return stu_id[:3]+str(int(stu_id[3:])+1).zfill(3)
#自動生成學號
def lm_main_choose():
main_choose=int(input('請選擇(1~5):'))
return main_choose
#做第一步選擇
def add_stu(list_stu=[]):
dict_stu = {}
print('=============添加學生================')
dict_stu['學號'] = get_stu_id(list_stu)
name=input('輸入學生姓名:')
dict_stu['姓名']=name
age=int(input('輸入學生年齡:'))
dict_stu['年齡'] = age
tel=input('輸入學生電話:')
dict_stu['電話'] = tel
list_stu.append(dict_stu)
print('添加成功!','1.繼續(xù)','2.返回',sep='\n')
choose_2=int(input('請選擇(1~2):'))
return choose_2,list_stu
#添加學生
def lm_look(list_stu):
print('1.查看所有學生','2.按姓名查找','3.按學號查找','4.返回',sep='\n')
choose_3=int(input('請選擇(1~4):'))
if choose_3==1:
for item in list_stu:
for data in item:
print(data,item[data],sep=':',end=';')
print()
elif choose_3==2:
look_name=input('請輸入該學生姓名:')
for item in list_stu:
if item['姓名']==look_name:
for data in item:
print(data, item[data], sep=':', end='虱岂;')
print()
elif choose_3==3:
look_name=input('請輸入該學生學號:')
for item in list_stu:
if item['學號']==look_name:
for data in item:
print(data, item[data], sep=':', end='回懦;')
print()
else:
return choose_3
#查看學生
def lm_change_stu(list_stu):
change_stu_id=input('請輸入修改學生的學號:')
print('1.修改學生姓名','2.修改學生年齡','3.修改學生電話','4.返回',sep='\n')
choose_4=int(input('請選擇(1~4):'))
if choose_4!=4:
change_choose=['姓名','年齡','電話'][choose_4-1]
change_data=input('請輸入新'+change_choose+':')
for stu in list_stu:
if stu['學號']==change_stu_id:
if change_choose=='年齡':
stu[change_choose] = int(change_data)
else:
stu[change_choose]=change_data
print('修改成功!', '1.繼續(xù)', '2.返回', sep='\n')
choose_4_1 = int(input('請選擇(1~2):'))
if choose_4_1==2:
choose_4=4
return list_stu,choose_4
#修改學生信息
def lm_delete(list_stu):
delete_data=input('請輸入刪除學生學號:')
for item in list_stu:
if item['學號']==delete_data:
list_stu.remove(item)
break
print('刪除成功渺蒿!','1.繼續(xù)','2.返回',sep='\n')
choose_5=int(input('請選擇(1~2):'))
return choose_5,list_stu
#刪除學生信息
filename='stu_management_data.txt'
list_stu = read_stu_data(filename)
while True:
lm_welcome()
choose_1 = lm_main_choose()
if choose_1==1:
choose_2=1
while choose_2==1:
choose_2, list_stu=add_stu(list_stu)
write_stu_data(filename, list_stu)
elif choose_1==2:
choose_3=0
while choose_3!=4:
list_stu = read_stu_data(filename)
choose_3=lm_look(list_stu)
elif choose_1==3:
choose_4=0
while choose_4!=4:
list_stu, choose_4=lm_change_stu(list_stu)
write_stu_data(filename, list_stu)
elif choose_1==4:
choose_5=0
while choose_5!=2:
choose_5,list_stu=lm_delete(list_stu)
write_stu_data(filename, list_stu)
else:
print('see you!')
break
學生管理系統(tǒng)
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來椎工,“玉大人饭于,你說我怎么就攤上這事蜀踏。” “怎么了掰吕?”我有些...
- 文/不壞的土叔 我叫張陵果覆,是天一觀的道長。 經(jīng)常有香客問我殖熟,道長局待,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任吗讶,我火速辦了婚禮燎猛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘照皆。我一直安慰自己重绷,他們只是感情好,可當我...
- 文/花漫 我一把揭開白布膜毁。 她就那樣靜靜地躺著昭卓,像睡著了一般。 火紅的嫁衣襯著肌膚如雪瘟滨。 梳的紋絲不亂的頭發(fā)上候醒,一...
- 文/蒼蘭香墨 我猛地睜開眼运翼,長吁一口氣:“原來是場噩夢啊……” “哼返干!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起血淌,我...
- 正文 年R本政府宣布音榜,位于F島的核電站,受9級特大地震影響捧弃,放射性物質(zhì)發(fā)生泄漏赠叼。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一违霞、第九天 我趴在偏房一處隱蔽的房頂上張望嘴办。 院中可真熱鬧,春花似錦买鸽、人聲如沸涧郊。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽妆艘。三九已至,卻和暖如春看幼,著一層夾襖步出監(jiān)牢的瞬間批旺,已是汗流浹背。 一陣腳步聲響...