1. 程式人生 > >python學生管理系統

python學生管理系統

這幾天開始接觸了python語言,這語言相對c語言簡潔了不少,語言真是一通百通,學起來還是比較輕鬆,在熟悉了基本語法,列表(序列),元組以及字典之後寫了一個最基礎簡單的的學生管理系統

能完成的功能有:

學生管理系統  v1.0
 1.新增學生的資訊
 2.刪除學生的資訊
 3.修改學生的資訊
 4.查詢學生的資訊
 5.遍歷所有學生的資訊
 6.退出系統

學生資訊中,學號是唯一的,所以進行刪除,修改,查詢都會有學號的唯一的檢測

1.框架顯示以及新增學生的功能


2.新增兩個學生之後,進行顯示功能

3.刪除功能,以及其他也都有學號唯一檢測功能!


4.修改資訊功能


5.查詢資訊以及退出介面


接下來是程式碼

#encoding utf=8
#定義一個函式,顯示可以使用的功能列表給使用者
def showInfo():
    print("-"*30)
    print("     學生管理系統  v1.0")
    print(" 1.新增學生的資訊")
    print(" 2.刪除學生的資訊")
    print(" 3.修改學生的資訊")
    print(" 4.查詢學生的資訊")
    print(" 5.遍歷所有學生的資訊")
    print(" 6.退出系統")
    print( '-'*30)

#定義一個列表,用來儲存多個學生的資訊
students=[]


while True:
    #把功能列表進行顯示給使用者
    showInfo()

    #提示使用者選擇功能
    #獲取使用者選擇的功能
    key = int(input("請選擇功能(序號):"))

    #根據使用者選擇,完成相應功能
    if key == 1:
        print("您選擇了新增學生資訊功能")
        name = input("請輸入學生姓名:")
        stuId = input("請輸入學生學號(學號不可重複):")
        age = input("請輸入學生年齡:")

        #驗證學號是否唯一
        i = 0
        leap = 0
        for temp in students:
            if temp['id'] == stuId:
                leap = 1
                break
            else:
                i = i + 1
        if leap == 1:
            print("輸入學生學號重複,新增失敗!")
            break
        else:
            # 定義一個字典,存放單個學生資訊
            stuInfo = {}
            stuInfo['name'] = name
            stuInfo['id'] = stuId
            stuInfo['age'] = age

            # 單個學生資訊放入列表
            students.append(stuInfo)
            print("新增成功!")

    elif key == 2:
        print("您選擇了刪除學生功能")
        delId=input("請輸入要刪除的學生學號:")
        #i記錄要刪除的下標,leap為標誌位,如果找到leap=1,否則為0
        i = 0
        leap = 0
        for temp in students:
           if temp['id'] == delId:
                leap = 1
                break
           else:
               i=i+1
        if leap == 0:
            print("沒有此學生學號,刪除失敗!")
        else:
            del students[i]
            print("刪除成功!")


    elif key == 3:
        print("您選擇了修改學生資訊功能")
        alterId=input("請輸入你要修改學生的學號:")
        #檢測是否有此學號,然後進行修改資訊
        i = 0
        leap = 0
        for temp in students:
            if temp['id'] == alterId:
                leap = 1
                break
            else:
                i = i + 1
        if leap == 1:
            while True:
                alterNum=int(input(" 1.修改學號\n 2.修改姓名 \n 3.修改年齡 \n 4.退出修改\n"))
                if alterNum == 1:
                    newId=input("輸入更改後的學號:")
                    #修改後的學號要驗證是否唯一
                    i = 0
                    leap1 = 0
                    for temp1 in students:
                        if temp1['id'] == newId:
                            leap1 = 1
                            break
                        else:
                            i = i + 1
                    if leap1 == 1:
                        print("輸入學號不可重複,修改失敗!")
                    else:
                        temp['id']=newId
                        print("學號修改成功")
                elif alterNum == 2:
                    newName=input("輸入更改後的姓名:")
                    temp['name'] = newName
                    print("姓名修改成功")
                elif alterNum == 3:
                    newAge=input("輸入更改後的年齡:")
                    temp['age'] = newAge
                    print("年齡修改成功")
                elif alterNum == 4:
                    break
                else:
                    print("輸入錯誤請重新輸入")
        else:
            print("沒有此學號,修改失敗!")
    elif key == 4:
        print("您選擇了查詢學生資訊功能")
        searchID=input("請輸入你要查詢學生的學號:")
        #驗證是否有此學號
        i = 0
        leap = 0
        for temp in students:
            if temp['id'] == searchID:
                leap = 1
                break
            else:
                i = i + 1
        if leap == 0:
            print("沒有此學生學號,查詢失敗!")
        else:
            print("找到此學生,資訊如下:")
            print("學號:%s\n姓名:%s\n年齡:%s\n"%(temp['id'],temp['name'],temp['age']))
    elif key == 5:
        #遍歷並輸出所有學生的資訊
        print('*'*20)
        print("接下來進行遍歷所有的學生資訊...")
        print("id      姓名         年齡")
        for temp in students:
            print("%s     %s     %s"%(temp['id'],temp['name'],temp['age']))
        print("*"*20)
    elif key == 6:
        #退出功能,儘量往不退出的方向引
        quitconfirm = input("親,真的要退出麼 (yes或者no)??~~(>_<)~~??")
        if quitconfirm == 'yes':
            print("歡迎使用本系統,謝謝")
            break;
    else:
        print("您輸入有誤,請重新輸入")


一些功能模組在後續會做成函式呼叫的方式,可以使程式看起來更加簡潔,謝謝