1. 程式人生 > >函式封裝 學生管理系統

函式封裝 學生管理系統

student_list = [{'name': '小明', 'age':10, 'sex':'male'},
            {'name':'小紅', 'age':12, 'sex':'female'},
            {'name':'小李', 'age':12, 'sex':'male'}
            ]
def panduan1():
    print('{:<10}{:<10}{:<10}{:<10}'.format('編號','姓名','年齡','性別'))
    print('~'*50)
    for i in range(0,len(student_list)):
        student=student_list[i]
        name=student['name']
        age=student['age']
        sex=student['sex']
        print('{:<10}{:<10}{:>5}{:>15}'.format(i+1,name,age,sex))
        print('-'*50)
def panduan2():
    new_name=input('請輸入你要新增的姓名:')
    new_age=int(input('請輸入你要新增的年齡:'))
    new_sex=input('請輸入你要新增的性別')
    if new_sex!='男'and new_sex!='女'and new_sex!='male'and new_sex!='female':
        print('輸入錯誤,您輸入的性別錯誤"{}"!'.format(new_sex))
        panduan2()
    new_dict={
        'name':new_name,
        'age':new_age,
        'sex':new_sex
    }
    student_list.append(new_dict)
    print('姓名新增成功!')
    print('-'*20)
    name=input('是否顯示列表(確認/取消):')
    if name=='確認':
        panduan1()
    elif name=='取消':
        print("""
            取消成功!
           即將返回選單
        """)
        zong()
    else:
        print('輸入錯誤!')

def panduan3():
    panduan1()
    num=int(input('請根據編號修改資訊:'))
    while num<1 or num>len(student_list):
        num=int(input('輸入錯誤,請重新輸入:'))
    name=input('請輸入你要修改的名字:')
    age=int(input('請輸入要修改的年齡:'))
    sex=input('請輸入你要修改的性別:')
    student_list[num-1]['name']=name
    student_list[num-1]['age']=age
    student_list[num-1]['sex']=sex
    print("""
        ————
        修改成功
        ————
    """)
def panduan4():
    panduan1()
    print("""
        1-根據編號刪除資訊
        2-刪除所有
    """)
    number=int(input('請輸入你要操作的序號:'))
    while number<1 or number>2:
        number=int(input('輸入錯誤,請重新輸入:'))
    if number ==1:
        num=int(input('請輸入你要刪除的編號所在資訊:'))
        while num<1 or num>len(student_list):
            num=int(input('輸入錯誤,請重新輸入:'))

        student_list.pop(num-1)
        print('刪除成功!')
    elif number ==2:
        select=input('是否刪除全部資訊,請輸入(確認/取消):')
        if select=='確認':
            student_list.clear()
            print('全部刪除成功!')
        elif select=='取消':
            print("""
                --------
                取消成功
                --------
            """)
            zong()




def zong():
    while True:
        print("""歡迎進入>
            1-查詢學員姓名
            2-新增學生姓名
            3-修改學員姓名
            4-刪除學員姓名
            0-退出程式
        """)
        number=int(input('請輸入你要查詢的序號:'))
        while number<0 or number>4:
            number=int(input('輸入錯誤,請重新輸入:'))
        if number==1:
            panduan1()
        elif number==2:
            panduan2()
        elif number==3:
            panduan3()
        elif number==4:
            panduan4()
        elif number==0:
            print("""
            歡迎使用
                程式結束
            """)
            break
if __name__=='__main__':
    zong()