day-登錄和學(xué)生管理系統(tǒng)(數(shù)據(jù)本地化)

def stu_management_login_interface():
    page = """===================================
    ??歡迎進(jìn)入學(xué)生管理登錄界面

        ?   1.  登錄
        ?   2.  注冊
        ?   3.  返回

    ===================================
    """
    page1 = """=========================
        ??歡迎yanghai

            ? 1.  查看用戶
            ? 2.  刪除用戶
            ? 3.  返回

    =========================
    """
    page2 = """=========================
            ??歡迎yanghai

                ? 1.  進(jìn)入用戶管理系統(tǒng)
                ? 2.  進(jìn)入學(xué)生管理系統(tǒng)
                ? 3.  返回

        =========================
        """
    num0 = 0

    def register():
        with open('用戶信息.txt', encoding='utf-8') as ff:
            content = ff.read()
        name_value = input('請輸入姓名:')
        phone_value = input('請輸入電話:')
        while True:
            account_number = input('請輸入賬號(hào)(3-6位):')
            if 3 <= len(account_number) <= 6:
                break
            else:
                print('賬號(hào)位數(shù)不對(duì)读跷,請重新輸入老赤!')
        if content:
            list1 = content.splitlines()
            for x in list1:
                if '賬號(hào):' + account_number not in x.split(' '):
                    if x == list1[-1]:
                        print('賬號(hào)可使用侧馅,請繼續(xù)惶岭!')
                        while True:
                            password = input('請輸入密碼(6-12位):')
                            if 6 <= len(password) <= 12:
                                break
                            else:
                                print('密碼位數(shù)不對(duì),請重新輸入!')
                        str1 = '姓名:' + name_value + ' ' + '電話:' + phone_value + ' ' + \
                               '賬號(hào):' + account_number + ' ' + '密碼:' + password + '\n'
                        with open('用戶信息.txt', 'a', encoding='utf-8') as f:
                            f.write(str1)
                else:
                    print('賬號(hào)已存在,請重新注冊!')
                    break
        else:
            while True:
                password = input('請輸入密碼:')
                if 6 <= len(password) <= 12:
                    print('密碼符合要求渗磅,注冊成功嚷硫!')
                    break
                else:
                    print('密碼位數(shù)不對(duì),請重新輸入!')
            str1 = '姓名:' + name_value + ' ' + '電話:' + phone_value + ' ' + \
                   '賬號(hào):' + account_number + ' ' + '密碼:' + password + '\n'
            with open('用戶信息.txt', 'a', encoding='utf-8') as f:
                f.write(str1)

    def login_system():
        with open('用戶信息.txt', encoding='utf-8') as ff:
            content = ff.read()
        account_number = input('請輸入賬號(hào):')
        for x in content.splitlines():
            if account_number == 'q1006895418':
                password = input('請輸入密碼:')
                while password == '123456':
                    print('密碼正確!')
                    print(page2)
                    num4 = input('請選擇(1-3):')
                    while num4 == '1':
                        print(page1)
                        num5 = input('請選擇(1-3):')
                        if num5 == '1':
                            find_all_user()
                        if num5 == '2':
                            del_user()
                        if num5 == '3':
                            break
                    if num4 == '2':
                        stu_management_system()
                    if num4 == '3':
                        break
                break
            else:
                if '賬號(hào):' + account_number in x.split(' '):
                    print('賬號(hào)存在,請繼續(xù)始鱼!')
                    password = input('請輸入密碼:')
                    if '密碼:' + password in x.split(' '):
                        print('密碼正確仔掸,正在進(jìn)入系統(tǒng),請稍等医清!')
                        stu_management_system()

    def find_all_user():
        with open('用戶信息.txt', encoding='utf-8') as ff:
            content = ff.read()
        for x in content.splitlines():
            print(x)
        print('查找成功起暮!')

    def del_user():
        with open('用戶信息.txt', encoding='utf-8') as ff:
            content = ff.read()
        account_number = input('請輸入賬號(hào):')
        for x in content.splitlines():
            if account_number != 'q1006895418':
                if '賬號(hào):'+account_number in x.split(' '):
                    print(x)
                    print('1.確定刪除')
                    print('2.返回')
                    num = input('請選擇(1-2):')
                    if num == '1':
                        with open('用戶信息.txt', 'w', encoding='utf-8') as f1:
                            f1.write(content.replace(x, '', 1))
                            f1.close()
                        print('刪除成功!')
            else:
                print('不能刪除管理者会烙!')

    def stu_management_system():
        page3 = """=========================
            ??歡迎yanghai

                ? 1.  添加學(xué)生
                ? 2.  查看學(xué)生
                ? 3.  修改學(xué)生信息
                ? 4.  刪除學(xué)生
                ? 5.  返回
        =========================
        """
        page4 = """
            1.查看所有學(xué)生
            2.按姓名查找
            3.按學(xué)號(hào)查找
            4.返回
        """
        num = 0

        def add_student_information():
            name_value = input('請輸入姓名:')
            age_value = input('請輸入年齡:')
            phone_value = input('請輸入電話:')
            with open('學(xué)號(hào)生成.txt', encoding='utf-8') as f1:
                count = int(f1.read())
            count += 1
            stu_number = str(count)
            str_stu_number = stu_number.rjust(4, '0')
            str1 = '學(xué)號(hào):'+str_stu_number+' '+'姓名:'+name_value+' '+\
                   '年齡:'+age_value+' '+'電話:'+phone_value+'\n'
            with open('學(xué)生信息.txt', 'a', encoding='utf-8') as ff:
                ff.write(str1)
            with open('學(xué)號(hào)生成.txt', 'w') as f2:
                f2.write(stu_number)
            print('添加成功负懦!')
            print('1.繼續(xù)')
            print('2.返回')

        def find_all_student():
            with open('學(xué)生信息.txt', encoding='utf-8') as f:
                content = f.read()
            for x in content.splitlines():
                print(x)
            print('查找成功筒捺!')

        def find_by_name():
            with open('學(xué)生信息.txt', encoding='utf-8') as f:
                content = f.read()
            name = input('請輸入姓名:')
            for x in content.splitlines():
                if '姓名:'+name in x.split(' '):
                    print(x)
                    print('查找成功!')

        def find_by_student_number():
            with open('學(xué)生信息.txt', encoding='utf-8') as f:
                content = f.read()
            student_number = input('請輸入學(xué)號(hào):')
            for x in content.splitlines():
                if '學(xué)號(hào):'+student_number in x.split(' '):
                    print(x)
            print('查找成功纸厉!')

        def revise_stu_information():
            with open('學(xué)生信息.txt', encoding='utf-8') as f:
                content = f.read()
            name_value = input('請輸入姓名:')
            age_value = input('請輸入年齡:')
            phone_value = input('請輸入電話:')
            stu_number = input('請輸入學(xué)號(hào):')
            for x in content.splitlines():
                if '學(xué)號(hào):'+stu_number in x.split(' '):
                    str1 = '學(xué)號(hào):'+stu_number+' '+'姓名:'+name_value+' ' +\
                            '年齡:'+age_value+' '+'電話:'+phone_value
                    with open('學(xué)生信息.txt', 'w', encoding='utf-8') as f1:
                        f1.write(content.replace(x, str1))
                    print('修改成功系吭!')
                    print('1.繼續(xù)')
                    print('2.返回')
                    break
            else:
                print('學(xué)號(hào)不正確')

        def del_stu_information():
            with open('學(xué)生信息.txt', encoding='utf-8') as f:
                content = f.read()
            name = input('請輸入姓名:')
            count = 0
            list1 = []
            for x in content.splitlines():
                if '姓名:'+name in x.split(' '):
                    list1.append(x)
                    count += 1
            if count >= 1:
                for y in range(len(list1)):
                    print(y, list1[y])
                num1 = int(input('請選擇:'))
                with open('學(xué)生信息.txt', 'w', encoding='utf-8') as f1:
                    f1.write(content.replace(list1[num1], ''))
                print('刪除成功!')
            else:
                print('沒有該學(xué)生颗品!')

        while num == 0:
            print(page3)
            num7 = int(input('請選擇(1-5):'))
            while num7 == 1:
                add_student_information()
                num8 = int(input('請選擇(1-2):'))
                if num8 == 2:
                    break
            while num7 == 2:
                print(page4)
                num2 = int(input('請選擇(1-4):'))
                if num2 == 1:
                    find_all_student()
                if num2 == 2:
                    find_by_name()
                if num2 == 3:
                    find_by_student_number()
                if num2 == 4:
                    break
            while num7 == 3:
                revise_stu_information()
                num3 = int(input('請選擇(1-2):'))
                if num3 == 2:
                    break
            if num7 == 4:
                del_stu_information()
            if num7 == 5:
                print('成功退出學(xué)生管理系統(tǒng)肯尺!')
                num = 'end!'
    while num0 == 0:
        print(page)
        num6 = input('請選擇(1-3):')
        if num6 == '1':
            login_system()
        elif num6 == '2':
            register()
        else:
            print('成功退出登錄界面!')
            break


stu_management_login_interface()
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末抛猫,一起剝皮案震驚了整個(gè)濱河市蟆盹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌闺金,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,978評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件峰档,死亡現(xiàn)場離奇詭異败匹,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)讥巡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門掀亩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人欢顷,你說我怎么就攤上這事槽棍。” “怎么了抬驴?”我有些...
    開封第一講書人閱讀 156,623評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵炼七,是天一觀的道長。 經(jīng)常有香客問我布持,道長豌拙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,324評(píng)論 1 282
  • 正文 為了忘掉前任题暖,我火速辦了婚禮按傅,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘胧卤。我一直安慰自己唯绍,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評(píng)論 5 384
  • 文/花漫 我一把揭開白布枝誊。 她就那樣靜靜地躺著况芒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪侧啼。 梳的紋絲不亂的頭發(fā)上牛柒,一...
    開封第一講書人閱讀 49,741評(píng)論 1 289
  • 那天堪簿,我揣著相機(jī)與錄音,去河邊找鬼皮壁。 笑死椭更,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蛾魄。 我是一名探鬼主播虑瀑,決...
    沈念sama閱讀 38,892評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼滴须!你這毒婦竟也來了舌狗?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,655評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤扔水,失蹤者是張志新(化名)和其女友劉穎痛侍,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體魔市,經(jīng)...
    沈念sama閱讀 44,104評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡主届,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了待德。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片君丁。...
    茶點(diǎn)故事閱讀 38,569評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖将宪,靈堂內(nèi)的尸體忽然破棺而出绘闷,到底是詐尸還是另有隱情,我是刑警寧澤较坛,帶...
    沈念sama閱讀 34,254評(píng)論 4 328
  • 正文 年R本政府宣布印蔗,位于F島的核電站,受9級(jí)特大地震影響燎潮,放射性物質(zhì)發(fā)生泄漏喻鳄。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評(píng)論 3 312
  • 文/蒙蒙 一确封、第九天 我趴在偏房一處隱蔽的房頂上張望除呵。 院中可真熱鬧,春花似錦爪喘、人聲如沸颜曾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽泛豪。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間诡曙,已是汗流浹背臀叙。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評(píng)論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留价卤,地道東北人劝萤。 一個(gè)月前我還...
    沈念sama閱讀 46,260評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像慎璧,于是被迫代替她去往敵國和親床嫌。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評(píng)論 2 348

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