2018-10-16學(xué)生管理系統(tǒng)利用json數(shù)據(jù)本地化添加登錄注冊

import json

def tishi():
    print('*********1.返回主頁面**********')
    print('*********0.退出系統(tǒng)************')
    while True:
        num2 = int(input("請選擇操作:"))
        if num2 == 1:
            return
        if num2 == 0:
            exit()
        else:
            print('********請正確操作摔刁!********')


def add_stu():
    addname = input("請輸入添加的學(xué)生姓名:")
    addstu_id = input("請輸入添加學(xué)生的學(xué)號:")
    addage = input('請輸入添加的學(xué)生年齡:')

    addscore1 = int(input('請輸入添加的學(xué)生英語成績:'))
    addscore2 = int(input('請輸入添加的學(xué)生體育成績:'))
    addscore3 = int(input('請輸入添加的學(xué)生美術(shù)成績:'))
    addscore4 = int(input('請輸入添加的學(xué)生數(shù)學(xué)成績:'))

    students.append({'name': addname, 'stu_id': addstu_id, 'age': addage,
                     'scores': {'英語': addscore1, '體育': addscore2, '美術(shù)': addscore3, '數(shù)學(xué)': addscore4}})
    with open('./student.json', 'w') as f2:
        json.dump(students, f2)
    print("添加成功台囱!")
    tishi()


def find_stu():
    findname = str(input("請輸入要查詢的學(xué)生姓名:"))
    for student in students:
        if student['name'] == findname:
            print("姓名:", student['name'])
            print("學(xué)號:", student['stu_id'])
            print("年齡:", student['age'])
            print("英語成績:", student['scores']['英語'])
            print("體育成績:", student['scores']['體育'])
            print("美術(shù)成績:", student['scores']['美術(shù)'])
            print("數(shù)學(xué)成績:", student['scores']['數(shù)學(xué)'])
            break
    tishi()


def del_stu():
    delname = str(input("請輸入要刪除的學(xué)生姓名:"))
    for student in students:
        if student['name'] == delname:
            students.remove(student)
            print('刪除成功!')
            break
    with open('./student.json', 'w') as f2:
        json.dump(students, f2)
    tishi()


def show_stu():
    print("*姓名****學(xué)號****年齡***英語***體育***美術(shù)***數(shù)學(xué)*")
    for student in students:
        print(student['name'], '', student['stu_id'], '', student['age'], '   ', student['scores']['英語'], '   ',
              student['scores']['體育'], '   ', student['scores']['美術(shù)'], '   ', student['scores']['數(shù)學(xué)'])
    tishi()


def score_stu():
    stu_name = str(input("請輸入要查詢分?jǐn)?shù)的學(xué)生姓名:"))
    for student in students:
        if student['name'] == stu_name:
            averge_score = float((student['scores']['英語'] + student['scores']['體育'] + student['scores']['美術(shù)'] +
                                  student['scores']['數(shù)學(xué)'])) / 4
            break
    print('他的平均分為:', averge_score)
    tishi()


def user_login():
    with open('./user.json', 'r', encoding='utf-8') as f1:
        all_user = json.load(f1)
    user_name = str(input("請輸入姓名:"))
    for user in all_user:
        if user["name"] == user_name:
            count = 0
            while True:
                user_password = str(input("請輸入密碼:"))
                if user["password"] == user_password:
                    print("登陸成功!")
                    return
                else:
                    print("密碼錯誤!")
                    count += 1
                    if count >= 3:
                        print("密碼輸錯3次,自動退出系統(tǒng)....")
                        exit()

    else:
        print("對不起沒有這個用戶,請注冊刁愿!")
        add_user()
        return


def add_user():
    # 保存所有用戶信息
    with open('./user.json', 'r', encoding="utf-8") as f1:
        all_user = json.load(f1)

    user_name = input("請輸入要注冊的姓名:")
    user_password = input("請輸入密碼:")
 #   user_password2 = str(input("請再次輸入密碼:"))

    user = {'name': user_name, 'password': user_password}
    all_user.append(user)

    with open('./user.json', 'w') as f2:
        json.dump(all_user, f2)
    print(all_user)


while True:
    print("**********************************")
    print("1.用戶登錄")
    print("2.請注冊新用戶")
    print("0.退出系統(tǒng)")
    print("**********************************")

    ans = int(input("請選擇操作:"))
    if ans == 0:
        exit()
    elif ans == 1:
        user_login()
        break
    elif ans == 2:
        add_user()
        break
    else:
        print("請正確操作")


while True:
    print('****************************歡迎來到千鋒學(xué)生管理系統(tǒng)*************************')
    print('1 添加學(xué)生\n')
    print('2 查詢學(xué)生\n')
    print('3 刪除學(xué)生\n')
    print('4 查看班級所有學(xué)生\n')
    print('5 查詢學(xué)生平均成績\n')
    print('0 退出系統(tǒng)\n')
    print('*****************************************************************************')

    num = int(input('請選擇你的操作:'))

    with open('./student.json', 'r', encoding='utf-8') as f1:
        students = json.load(f1)

    # students = [{'name': '小明', 'stu_id': 5120152566, 'age': 18, 'scores': {'英語': 96, '體育': 86, '美術(shù)': 84, '數(shù)學(xué)': 98}}]
    if num == 0:
        exit()

    if num == 1:
        add_stu()
     #   print(students)

    if num == 2:
        find_stu()

    if num == 3:
        del_stu()
    #    print(students)

    if num == 4:
        show_stu()

    if num == 5:
        score_stu()

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市到逊,隨后出現(xiàn)的幾起案子铣口,更是在濱河造成了極大的恐慌,老刑警劉巖觉壶,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件脑题,死亡現(xiàn)場離奇詭異,居然都是意外死亡铜靶,警方通過查閱死者的電腦和手機叔遂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人掏熬,你說我怎么就攤上這事∶朊罚” “怎么了旗芬?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長捆蜀。 經(jīng)常有香客問我疮丛,道長,這世上最難降的妖魔是什么辆它? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任誊薄,我火速辦了婚禮,結(jié)果婚禮上锰茉,老公的妹妹穿的比我還像新娘呢蔫。我一直安慰自己,他們只是感情好飒筑,可當(dāng)我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布片吊。 她就那樣靜靜地躺著,像睡著了一般协屡。 火紅的嫁衣襯著肌膚如雪俏脊。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天肤晓,我揣著相機與錄音爷贫,去河邊找鬼。 笑死补憾,一個胖子當(dāng)著我的面吹牛漫萄,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播盈匾,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼卷胯,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了威酒?” 一聲冷哼從身側(cè)響起窑睁,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎葵孤,沒想到半個月后担钮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡尤仍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年箫津,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡苏遥,死狀恐怖饼拍,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情田炭,我是刑警寧澤师抄,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站教硫,受9級特大地震影響叨吮,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜瞬矩,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一茶鉴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧景用,春花似錦涵叮、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蜂怎,卻和暖如春穆刻,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背杠步。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工氢伟, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人幽歼。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓朵锣,卻偏偏與公主長得像,于是被迫代替她去往敵國和親甸私。 傳聞我的和親對象是個殘疾皇子诚些,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,465評論 2 348

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

  • 也許你要說我少年老成诬烹,也許你要批評我過于社會。我們上了這么多年的學(xué)弃鸦,接受了整整十三年的教育绞吁,最后畢業(yè)了,為什么連一...
    奧德賽歲月閱讀 606評論 1 2
  • 活著就是為了體驗?zāi)切]有體驗過的美好生活
    海豚之美閱讀 82評論 0 0
  • 今天換了手機膜唬格,觸屏感覺好到爆家破。 哈哈哈 作為一個女人在全都是男生的球場打球颜说,是有一點好處的,男生會謙讓一點讓我多...
    嘎旺閱讀 175評論 0 0