學(xué)生管理系統(tǒng)臨時(shí)

'''__author__==fubo'''

'''



'''
def student_boundary():
    print('==========================')
    print('歡迎進(jìn)入XXX學(xué)生管理系統(tǒng)')
    print('1.添加學(xué)生\n2.查看學(xué)生\n3.刪除學(xué)生\n4.修改學(xué)生信息\n0.退出')
    print('==========================')
    mul1=input_value = input('請(qǐng)輸入:')
    return mul1




def manage_list(name,password):
    list1 = []  # 管理員列表
    dict2 = {}  # 管理員信息字典
    dict2['name'] = name
    dict2['password'] = password
    list1.append(dict2)
    return list1
def manage_list2(name,id,age,tel):
    list1 = []  # 管理員列表
    dict2 = {}  # 管理員信息字典
    dict2['student_name'] = name
    dict2['student_id'] = id
    dict2['student_age'] = age
    dict2['student_tel'] = tel
    list1.append(dict2)
    return list1
import doc
if __name__ == '__main__':
    print('***********************************')
    print('1.登錄')
    print('2.注冊(cè)')
    print('3.退出')
    print('***********************************')
    # 模塊1 manage管理 列表 字典
    num1=input('請(qǐng)選擇操作:')
    flage=False
    flage1= False
    flage2=False
    while True:
        if num1=='1':
            print('請(qǐng)登錄')
            user_name=input('請(qǐng)輸入姓名:')
            password= input('請(qǐng)輸入密碼:')
            try:
                dict1 = doc.json_r_doc('./files/manage.json')
                dict1=doc.json_loads_doc(dict1)
                num2=0
                for item in dict1['all_manage']:
                    if item['name']==user_name and item['password']==password:
                        print('登錄成功')
                        num2=0
                        flage=True
                        break
                    if item['name'] != user_name :
                        num2 += 1
                if num2 == len(dict1['all_manage']):
                    print('系統(tǒng)沒有該用戶动漾,請(qǐng)注冊(cè)')
                    num1 = input('>>>')
                elif num2!=0:
                    print('登錄有誤,請(qǐng)重新登錄')
                    num1 = '1'
                    continue
                elif num2==0:
                    break
            except:
                print('該用戶不存在,請(qǐng)注冊(cè)')
                num1=2
                # global flage1
                flage1 = True  #判斷管理字典為空
                num1 = input('同意注冊(cè)請(qǐng)輸入2医咨,重新登錄請(qǐng)輸入1')
                continue
        if num1 == '2':
            try:
                dict1 = doc.json_r_doc('./files/manage.json')
                flage1=False
            except:
                flage1=True
            if flage1 :
                print('感謝您第一個(gè)登錄')
                name=input('請(qǐng)輸入姓名:')
                password=input('請(qǐng)輸入密碼:')
                # global dict1
                dict1 = {}  # 最外層字典
                dict1['all_manage']=manage_list(name,password)
                doc.json_w_doc('./files/manage.json', doc.json_dumps_doc(dict1))
                flage1=False
                num1=input('>>>')
                continue
            else:
                print("請(qǐng)注冊(cè)")
                name = input('請(qǐng)輸入姓名:')
                password = input('請(qǐng)輸入密碼:')
                dict1 = doc.json_r_doc('./files/manage.json')
                dict2 = {}  # 管理員信息字典
                dict2['name'] = name
                dict2['password'] = password
                dict1=doc.json_loads_doc(dict1)
                dict1['all_manage'].append(dict2)
                doc.json_w_doc('./files/manage.json', doc.json_dumps_doc(dict1))
                num1 = input('>>>')
                continue
        if num1 == '3':
            print('操作結(jié)束冻晤,歡迎下次登錄')
            flage=False
            break
    num4=0
    while flage:
        try:
            dict3 = doc.json_r_doc('./files/student.json')
            num3 = 1
        except:
            num3 = 0
        mul1 = student_boundary()
        if flage2:
            print('歡迎下次登錄')
            break
        while True:
            if mul1=='0':
                flage2=True
                break
            if mul1=='1':
                num4+=1
                if num3==0:
                    print("學(xué)生管理系統(tǒng)為空飘哨,請(qǐng)輸入學(xué)生信息")
                    dict3={}
                    add_name = input('姓名:')
                    add_age = input('年齡:')
                    add_tel = input('電話:')
                    # 產(chǎn)生學(xué)號(hào)
                    add_id = 'py1805' + str(num4).rjust(3, '0')
                    dict3['all_student']=manage_list2(add_name,add_id,add_age,add_tel)
                    doc.json_w_doc('./files/student.json', doc.json_dumps_doc(dict3))
                    print('添加成功')
                    num3=1
                    print('1.繼續(xù)添加')
                    print('2.返回首頁')
                    mul5 = input('>>>')
                    if mul5 == '1':
                        mul1 = '1'
                        continue
                    elif mul5 == '2':
                        break
                    else:
                        print('沒有該選項(xiàng)定拟,請(qǐng)返回首頁扫茅,并嚴(yán)格按照要求進(jìn)行輸入蹋嵌,錯(cuò)誤操作將退出系統(tǒng)')
                        mul6 = input('希望留在添加頁面請(qǐng)輸入1,返回首頁請(qǐng)輸入2:')
                        if mul6 == '1':
                            mul1 = '1'
                            continue
                        elif mul6 == '2':
                            break
                        else:
                            mul1 = '0'
                            continue
                else:
                    print('添加學(xué)生:')
                    dict4={}
                    add_name = input('姓名:')
                    add_age = input('年齡:')
                    add_tel = input('電話:')
                    # 產(chǎn)生學(xué)號(hào)
                    add_id = 'py1805' + str(num4).rjust(3, '0')
                    num4+=1
                    dict3 = doc.json_loads_doc(dict3)
                    dict4['student_name'] = add_name
                    dict4['student_id'] = add_id
                    dict4['student_age'] = add_age
                    dict4['student_tel'] = add_tel
                    dict3['all_student'].append(dict4)
                    dict3=doc.json_dumps_doc(dict3)
                    doc.json_w_doc('./files/student.json', dict3)
                    print('添加成功')
                    print('1.繼續(xù)添加')
                    print('2.返回首頁')
                    mul5 = input('>>>')
                    if mul5 == '1':
                        mul1 = '1'
                        continue
                    elif mul5 == '2':
                        break
                    else:
                        print('沒有該選項(xiàng)葫隙,請(qǐng)返回首頁栽烂,并嚴(yán)格按照要求進(jìn)行輸入,錯(cuò)誤操作將退出系統(tǒng)')
                        mul6 = input('希望留在添加頁面請(qǐng)輸入1恋脚,返回首頁請(qǐng)輸入2:')
                        if mul6 == '1':
                            mul1 = '1'
                            continue
                        elif mul6 == '2':
                            break
                        else:
                            mul1 = '0'
                            continue
            if mul1 == '2':
                print('查看學(xué)生')
                print('1.查看所有的學(xué)生信息')
                print('2.根據(jù)學(xué)生姓名查看學(xué)生信息')
                print('3.根據(jù)學(xué)生學(xué)號(hào)查看學(xué)生信息')
                print('4.返回上一層')
                find_input = input('>>>')
                if find_input == '4':
                    break
                '''拿到所有的學(xué)生'''
                dict3 = doc.json_r_doc('./files/student.json')
                dict3=doc.json_loads_doc(dict3)
                all_students =dict3['all_student']
                '''系統(tǒng)還沒有添加過學(xué)生'''
                # or 和and的短路操作
                if (not all_students) or (not len(all_students)):
                    print('系統(tǒng)中沒有學(xué)生')
                    continue
                # 查看所有學(xué)生信息
                if find_input == '1':
                    '''有學(xué)生的時(shí)候'''
                    for student in all_students:
                        print('姓名:%s腺办,年齡:%s,電話:%s糟描,學(xué)號(hào):%s' % \
                              (student['student_name'], student['student_age'], student['student_tel'], \
                               student['student_id']))
                # 根據(jù)學(xué)生姓名查找
                elif find_input == '2':
                    find_name = input('請(qǐng)輸入要查看的學(xué)生的名字')
                    flag = True  # 是否找不到學(xué)生
                    for student in all_students:
                        if find_name == student['student_name']:
                            print('姓名:%s怀喉,年齡:%s,電話:%s船响,學(xué)號(hào):%s' % \
                                  (student['student_name'], student['student_age'], student['student_tel'], \
                                   student['student_id']))
                            flag = False
                    if flag:
                        print('找不到該學(xué)生信息')
                # 根據(jù)學(xué)生學(xué)號(hào)查找
                elif find_input == '3':
                    find_id = input('請(qǐng)輸入要查看的學(xué)生的id')
                    flag = True
                    for student in all_students:
                        if find_id == student['student_id']:
                            print('姓名:%s躬拢,年齡:%s,電話:%s见间,學(xué)號(hào):%s' % \
                                  (student['student_name'], student['student_age'], student['student_tel'], \
                                   student['student_id']))
                            flag = False
                    if flag:
                        print('找不到該學(xué)生信息')
                # 返回上一層
                else:
                    pass
                continue
            if mul1 == '3':
                print('1.按姓名刪除學(xué)生')
                print('2.按學(xué)號(hào)刪除學(xué)生')
                print('3.返回')
                del_input = input("請(qǐng)輸入(1,2,3)")
                if del_input == '3':
                    break
                    # 把所有學(xué)生找出來

                dict3 = doc.json_r_doc('./files/student.json')
                dict3 = doc.json_loads_doc(dict3)
                all_students = dict3['all_student']
                if (not all_students) or (not len(all_students)):
                    print('該系統(tǒng)沒有學(xué)生')
                    break
                if del_input == '1':
                    list2 = []
                    del_name = input('請(qǐng)輸入要?jiǎng)h除學(xué)生的姓名')
                    for student in all_students:
                        if del_name == student['student_name']:
                            # 保存可能要?jiǎng)h除的學(xué)生
                            list2.append(student)
                    if not len(list2):
                        print('沒有找到匹配的學(xué)生')
                        continue
                    for x in range(len(list2)):
                        print(x, list2[x])
                    del_num = int(input('請(qǐng)選擇要?jiǎng)h除的學(xué)生的編號(hào):'))
                    del_student = list2[del_num]
                    dict3['all_student'].remove(del_student)
                    doc.json_w_doc('./files/student.json', doc.json_dumps_doc(dict3))
                if del_input == '2':
                    find_number = input('請(qǐng)輸入要?jiǎng)h除學(xué)生的學(xué)號(hào)')
                    num = 0
                    for student in all_students[:]:
                        if find_number == student['student_id']:
                            all_students.remove(student)

                            num += 1
                    dict3['all_student']=all_students
                    doc.json_w_doc('./files/student.json', doc.json_dumps_doc(dict3))
                    if num == 0:
                        print('沒有找到匹配的學(xué)生')
                        continue
                continue
            if mul1 == '4':
                print('1.按姓名修改學(xué)生')
                print('2.按學(xué)號(hào)修改學(xué)生')
                print('3.返回')
                dict3 = doc.json_r_doc('./files/student.json')
                dict3 = doc.json_loads_doc(dict3)
                all_students = dict3['all_student']
                if (not all_students) or (not len(all_students)):
                    print('系統(tǒng)沒有任何學(xué)生信息')
                    break
                input_num = input('請(qǐng)選擇查詢方式:')
                if input_num == '1':
                    find_name = input('請(qǐng)輸入將要修改學(xué)生的名字:')
                    list3 = []
                    num8 = 0
                    for student in all_students:
                        if find_name == student['student_name']:
                            list3.append(student)
                            num8 += 1
                    if num8 == 0:
                        print('沒有找到匹配的學(xué)生:')
                        continue
                    for x in range(len(list3)):
                        print(x, list3[x])
                    find_num = int(input('請(qǐng)選擇要修改的學(xué)生:'))
                    while True:
                        find_type = input('請(qǐng)選擇要修改的項(xiàng)')
                        values = input('請(qǐng)輸入修改內(nèi)容:')
                        num6 = 0
                        for student in all_students:
                            if student == list3[find_num]:
                                student[find_type] = values
                      
                                num6 += 1
                        dict3['all_student']=all_students
                        doc.json_w_doc('./files/student.json', doc.json_dumps_doc(dict3))
                        break
                        if num6 == 0:
                            print('沒有找到匹配的項(xiàng)')
                            continue
                if input_num == '2':
                    num7 = 0
                    find_id = input('請(qǐng)輸入將要修改學(xué)生的學(xué)號(hào):')
                    for student in all_students:
                        if student['student_id'] == find_id:
                            print('已找到該學(xué)生:')
                            update_key = input('請(qǐng)輸入修改項(xiàng):')
                            update_value = input('請(qǐng)輸入修改值:')
                            student[update_key] = update_value
                            
                            num7 += 1
                    dict3['all_student'] = all_students
                    doc.json_w_doc('./files/student.json', doc.json_dumps_doc(dict3))
                    if num7 == 0:
                        print('沒有找到匹配的學(xué)生')
                        continue
                if input_num == '3':
                    break




結(jié)果:

D:\Python項(xiàng)目\Day5-練習(xí)和列表\code\venv\Scripts\python.exe D:/Python項(xiàng)目/學(xué)生管理系統(tǒng)/code/main.py


1.登錄
2.注冊(cè)
3.退出


請(qǐng)選擇操作:1
請(qǐng)登錄
請(qǐng)輸入姓名:we
請(qǐng)輸入密碼:123
登錄成功
==========================
歡迎進(jìn)入XXX學(xué)生管理系統(tǒng)
1.添加學(xué)生
2.查看學(xué)生
3.刪除學(xué)生
4.修改學(xué)生信息
0.退出
==========================
請(qǐng)輸入:1
添加學(xué)生:
姓名:we
年齡:123
電話:4
添加成功
1.繼續(xù)添加
2.返回首頁

1
添加學(xué)生:
姓名:we
年齡:242
電話:353
添加成功
1.繼續(xù)添加
2.返回首頁
2
==========================
歡迎進(jìn)入XXX學(xué)生管理系統(tǒng)
1.添加學(xué)生
2.查看學(xué)生
3.刪除學(xué)生
4.修改學(xué)生信息
0.退出
==========================
請(qǐng)輸入:4
1.按姓名修改學(xué)生
2.按學(xué)號(hào)修改學(xué)生
3.返回
請(qǐng)選擇查詢方式:1
請(qǐng)輸入將要修改學(xué)生的名字:we
0 {'student_name': 'we', 'student_id': 'py1805001', 'student_age': '12', 'student_tel': '345'}
1 {'student_name': 'we', 'student_id': 'py1805001', 'student_age': '34', 'student_tel': '56'}
2 {'student_name': 'we', 'student_id': 'py1805001', 'student_age': '123', 'student_tel': '4'}
3 {'student_name': 'we', 'student_id': 'py1805003', 'student_age': '242', 'student_tel': '353'}
請(qǐng)選擇要修改的學(xué)生:0
請(qǐng)選擇要修改的項(xiàng)student_age
請(qǐng)輸入修改內(nèi)容:12
1.按姓名修改學(xué)生
2.按學(xué)號(hào)修改學(xué)生
3.返回
請(qǐng)選擇查詢方式:2
請(qǐng)輸入將要修改學(xué)生的學(xué)號(hào):py1805003
已找到該學(xué)生:
請(qǐng)輸入修改項(xiàng):age
請(qǐng)輸入修改值:100
已找到該學(xué)生:
請(qǐng)輸入修改項(xiàng):student_age
請(qǐng)輸入修改值:100
1.按姓名修改學(xué)生
2.按學(xué)號(hào)修改學(xué)生
3.返回
請(qǐng)選擇查詢方式:3
==========================
歡迎進(jìn)入XXX學(xué)生管理系統(tǒng)
1.添加學(xué)生
2.查看學(xué)生
3.刪除學(xué)生
4.修改學(xué)生信息
0.退出
==========================
請(qǐng)輸入:0
==========================
歡迎進(jìn)入XXX學(xué)生管理系統(tǒng)
1.添加學(xué)生
2.查看學(xué)生
3.刪除學(xué)生

4.修改學(xué)生信息
0.退出
==========================
請(qǐng)輸入:0
歡迎下次登錄

Process finished with exit code 0

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末聊闯,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子米诉,更是在濱河造成了極大的恐慌外永,老刑警劉巖播掷,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件姨俩,死亡現(xiàn)場(chǎng)離奇詭異椅挣,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人叠骑,你說我怎么就攤上這事∠髯拢” “怎么了宙枷?”我有些...
    開封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)茧跋。 經(jīng)常有香客問我慰丛,道長(zhǎng),這世上最難降的妖魔是什么瘾杭? 我笑而不...
    開封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任诅病,我火速辦了婚禮,結(jié)果婚禮上粥烁,老公的妹妹穿的比我還像新娘贤笆。我一直安慰自己,他們只是感情好讨阻,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開白布芥永。 她就那樣靜靜地躺著,像睡著了一般钝吮。 火紅的嫁衣襯著肌膚如雪埋涧。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天奇瘦,我揣著相機(jī)與錄音飞袋,去河邊找鬼。 笑死链患,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的瓶您。 我是一名探鬼主播麻捻,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼呀袱!你這毒婦竟也來了贸毕?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤夜赵,失蹤者是張志新(化名)和其女友劉穎明棍,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體寇僧,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡摊腋,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年沸版,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片兴蒸。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡视粮,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出橙凳,到底是詐尸還是另有隱情蕾殴,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布岛啸,位于F島的核電站钓觉,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏坚踩。R本人自食惡果不足惜荡灾,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望堕虹。 院中可真熱鬧卧晓,春花似錦、人聲如沸赴捞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽赦政。三九已至胜宇,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間恢着,已是汗流浹背桐愉。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留掰派,地道東北人从诲。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像靡羡,于是被迫代替她去往敵國和親系洛。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 結(jié)果: D:\Python項(xiàng)目\Day5-練習(xí)和列表\code\venv\Scripts\python.exe D...
    曉曉的忍兒閱讀 985評(píng)論 0 8
  • 一略步、快捷鍵 ctr+b 執(zhí)行ctr+/ 單行注釋ctr+c ...
    o_8319閱讀 5,828評(píng)論 2 16
  • 春天到了描扯,百花齊放,又到了采花釀蜜的好時(shí)節(jié)趟薄。 一個(gè)陽光明媚的早晨绽诚,一只小蜜蜂飛來飛去忙采蜜。它聚精...
    淺淺的童話閱讀 742評(píng)論 0 0
  • 小時(shí)候卒落,有一種孩子大家都很討厭,名曰“鄰居家的孩子”玫鸟,因?yàn)樗麄兛偸且詢?yōu)秀的成績(jī)和乖巧的教養(yǎng)來稱托出我們的無能导绷。后來...
    大兵小將03閱讀 622評(píng)論 7 2
  • 四月煙雨黃鶴樓,佳人相聚長(zhǎng)江邊屎飘。一把小傘大橋過妥曲,八載長(zhǎng)情終不負(fù)。 從武漢回到上海已有數(shù)日光陰钦购,只是...
    牧魂先生閱讀 119評(píng)論 0 0