首頁 > 軟體

python實現班級檔案管理系統

2022-05-30 18:01:39

本文範例為大家分享了python實現班級檔案管理系統的具體程式碼,供大家參考,具體內容如下

功能要求

一、對一個有N個學生的班級,通過該系統實現對班級學生的基本資訊進行錄入、顯示、修改、刪除、儲存等操作的管理。

二、 功能要求

1.本系統序列或字典存放資料,資料包括:學號、姓名、性別、年齡、備註。

2.本系統顯示這樣的選單:

a.學生基本資訊錄入
b.學生基本資訊顯示
c.學生基本資訊儲存
d.學生基本資訊刪除
e.學生基本資訊修改
f.學生基本資訊查詢
(1)按學號查詢
(2)按性別查詢
(3)按年齡查詢
g.退出系統

3.將學生基本資訊儲存到檔案中。

4.進入系統之前要先輸入密碼

程式碼如下

import openpyxl
from openpyxl import Workbook
import sys

s_information = [{'學號':'202031108041','姓名':'小明','性別':'男','年齡':'20','備註':'帥比'},
         {'學號':'202031108042','姓名':'小谷','性別':'女','年齡':'20','備註':'漂比'},
         {'學號':'202031108043','姓名':'小啊','性別':'男','年齡':'20','備註':'帥比'},
         {'學號':'202031108044','姓名':'小額','性別':'男','年齡':'20','備註':'帥比'},
         ]

#登入密碼

def print_menu():
    # 列印選單
    print('-'*50)
    print('[1]:學生基本資訊錄入')
    print('[2]:學生基本資訊顯示')
    print('[3]:學生基本資訊儲存')
    print('[4]:學生基本資訊刪除')
    print('[5]:學生基本資訊修改')
    print('[6]:學生基本資訊查詢')
    print('[7]:退出')
#基本資訊錄入
def add_infomation():
    dic = {}
    while True:
        xuehao = input('請輸入你的學號:')
        for i in s_information:
            if i['學號'] == xuehao:
                print('學號已存在,請重新輸入')
        else:
            dic['學號'] = xuehao
            dic['姓名'] = input('請輸入姓名:')
            dic['性別'] = input('請輸入性別:')
            dic['年齡'] = input('請輸入年齡:')
            dic['備註'] = input('請輸入備註:')
            break
    s_information.append(dic)
#顯示所有資訊
def show_information():
    for i in s_information:
        print(i)
#刪除學生資訊,可以新增學生資訊不在時的情況
def del_information():
    a = input('請輸入你要刪除的學生的姓名:')
    for i in s_information:
        if a == i['姓名']:
            s_information.remove(i)

#學生基本資訊修改:
def change_information():
    a = input('請輸入你要修改人的資訊,如姓名、電話')
    print('1、學號')
    print('2、姓名')
    print('3、性別')
    print('4、年齡')
    print('5、備註')
    b = input('請輸入你要修改的選項:')

    for i in s_information:
        if i['姓名'] == a :
            if b=="1":
                i['學號']=input('請輸入修改後的:')
            elif b=='2':
                i['姓名']=input('請輸入修改後的:')
            elif b=='3':
                i['性別'] = input('請輸入修改後的:')
            elif b=='4':
                i['年齡'] = input('請輸入修改後的:')
            else:
                i['備註']= input('請輸入修改後的:')
            break
        elif i['學號'] == a :
            if b=="1":
                i['學號']=input('請輸入修改後的:')
            elif b=='2':
                i['姓名']=input('請輸入修改後的:')
            elif b=='3':
                i['性別'] = input('請輸入修改後的:')
            elif b=='4':
                i['年齡'] = input('請輸入修改後的:')
            else:
                i['備註']= input('請輸入修改後的:')
            break
        else:
            print('請輸入學號、或姓名進行查詢')
#學生基本資訊查詢
def select_information():
    a = input('請輸入你要查詢人的姓名或學號')
    for i in s_information:
        if i['姓名']  == a:
            print(i)
            break
        elif i['學號'] == a :
            print(i)
            break
        else:
            print(''請輸入學號或者姓名進行查詢')
#學生資訊儲存
def write_tofile():
    a = input('請輸入你要儲存檔案的名稱:')
    wb=Workbook()
    sheet1 = wb.create_sheet('學生資訊表',0)
    sheet1.cell(row=1,column=1).value='學號'
    sheet1.cell(row=1,column=2).value='姓名'
    sheet1.cell(row=1,column=3).value='性別'
    sheet1.cell(row=1,column=4).value='年齡'
    sheet1.cell(row=1,column=5).value='備註'
    for i in range(len(s_information)):
       
        
        
        sheet1.cell(row=i+2,column=1).value=s_information[i]['學號']
        sheet1.cell(row=i+2,column=2).value=s_information[i]['姓名']
        sheet1.cell(row=i+2,column=3).value=s_information[i]['性別']
        sheet1.cell(row=i+2,column=4).value=s_information[i]['年齡']
        sheet1.cell(row=i+2,column=5).value=s_information[i]['備註']
        
    wb.save('{}.xlsx'.format(a))

#離開程式    
def quit_information():
    sys.exit(0)       

#設定主函數
def main2():
      while True:#設定登入密碼
            print('------登陸-------')
            print('賬號是學號,密碼是學號後五位')
            key_word = input("賬號:")
            password = input("密碼:")

            while True and password ==  key_word[-5:] and len(key_word) > 5:
                print('------班級管理系統------')
           
                print_menu()    # 列印選單
                num = input('請輸入您的選項:')
                if num == '1':
                    add_infomation()  # 新增圖書
                elif num == '2':
                    show_information()  # 刪除圖書
                elif num == '3':
                    write_tofile() # 查詢所有圖書
                elif num == '4':
                    del_information()
                elif num == '5':
                    change_information()
                elif num == '6':
                    select_information()
                elif num == '7':
                    quit_information()

                else:
                    print('您選擇的有誤,請重新選擇')
            else:
                print('你輸入的密碼有誤,請重新輸入')

if __name__ == '__main__':
    main2()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。


IT145.com E-mail:sddin#qq.com