python實(shí)現(xiàn)班級(jí)檔案管理系統(tǒng)
本文實(shí)例為大家分享了python實(shí)現(xiàn)班級(jí)檔案管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
功能要求
一、對(duì)一個(gè)有N個(gè)學(xué)生的班級(jí),通過(guò)該系統(tǒng)實(shí)現(xiàn)對(duì)班級(jí)學(xué)生的基本信息進(jìn)行錄入、顯示、修改、刪除、保存等操作的管理。
二、 功能要求
1.本系統(tǒng)序列或字典存放數(shù)據(jù),數(shù)據(jù)包括:學(xué)號(hào)、姓名、性別、年齡、備注。
2.本系統(tǒng)顯示這樣的菜單:
a.學(xué)生基本信息錄入
b.學(xué)生基本信息顯示
c.學(xué)生基本信息保存
d.學(xué)生基本信息刪除
e.學(xué)生基本信息修改
f.學(xué)生基本信息查詢
(1)按學(xué)號(hào)查詢
(2)按性別查詢
(3)按年齡查詢
g.退出系統(tǒng)
3.將學(xué)生基本信息保存到文件中。
4.進(jìn)入系統(tǒng)之前要先輸入密碼
代碼如下
import openpyxl from openpyxl import Workbook import sys s_information = [{'學(xué)號(hào)':'202031108041','姓名':'小明','性別':'男','年齡':'20','備注':'帥比'}, ? ? ? ? ?{'學(xué)號(hào)':'202031108042','姓名':'小谷','性別':'女','年齡':'20','備注':'漂比'}, ? ? ? ? ?{'學(xué)號(hào)':'202031108043','姓名':'小啊','性別':'男','年齡':'20','備注':'帥比'}, ? ? ? ? ?{'學(xué)號(hào)':'202031108044','姓名':'小額','性別':'男','年齡':'20','備注':'帥比'}, ? ? ? ? ?] #登錄密碼 def print_menu(): ? ? # 打印菜單 ? ? print('-'*50) ? ? print('[1]:學(xué)生基本信息錄入') ? ? print('[2]:學(xué)生基本信息顯示') ? ? print('[3]:學(xué)生基本信息保存') ? ? print('[4]:學(xué)生基本信息刪除') ? ? print('[5]:學(xué)生基本信息修改') ? ? print('[6]:學(xué)生基本信息查詢') ? ? print('[7]:退出') #基本信息錄入 def add_infomation(): ? ? dic = {} ? ? while True: ? ? ? ? xuehao = input('請(qǐng)輸入你的學(xué)號(hào):') ? ? ? ? for i in s_information: ? ? ? ? ? ? if i['學(xué)號(hào)'] == xuehao: ? ? ? ? ? ? ? ? print('學(xué)號(hào)已存在,請(qǐng)重新輸入') ? ? ? ? else: ? ? ? ? ? ? dic['學(xué)號(hào)'] = xuehao ? ? ? ? ? ? dic['姓名'] = input('請(qǐng)輸入姓名:') ? ? ? ? ? ? dic['性別'] = input('請(qǐng)輸入性別:') ? ? ? ? ? ? dic['年齡'] = input('請(qǐng)輸入年齡:') ? ? ? ? ? ? dic['備注'] = input('請(qǐng)輸入備注:') ? ? ? ? ? ? break ? ? s_information.append(dic) #顯示所有信息 def show_information(): ? ? for i in s_information: ? ? ? ? print(i) #刪除學(xué)生信息,可以添加學(xué)生信息不在時(shí)的情況 def del_information(): ? ? a = input('請(qǐng)輸入你要?jiǎng)h除的學(xué)生的姓名:') ? ? for i in s_information: ? ? ? ? if a == i['姓名']: ? ? ? ? ? ? s_information.remove(i) #學(xué)生基本信息修改: def change_information(): ? ? a = input('請(qǐng)輸入你要修改人的信息,如姓名、電話') ? ? print('1、學(xué)號(hào)') ? ? print('2、姓名') ? ? print('3、性別') ? ? print('4、年齡') ? ? print('5、備注') ? ? b = input('請(qǐng)輸入你要修改的選項(xiàng):') ? ? for i in s_information: ? ? ? ? if i['姓名'] == a : ? ? ? ? ? ? if b=="1": ? ? ? ? ? ? ? ? i['學(xué)號(hào)']=input('請(qǐng)輸入修改后的:') ? ? ? ? ? ? elif b=='2': ? ? ? ? ? ? ? ? i['姓名']=input('請(qǐng)輸入修改后的:') ? ? ? ? ? ? elif b=='3': ? ? ? ? ? ? ? ? i['性別'] = input('請(qǐng)輸入修改后的:') ? ? ? ? ? ? elif b=='4': ? ? ? ? ? ? ? ? i['年齡'] = input('請(qǐng)輸入修改后的:') ? ? ? ? ? ? else: ? ? ? ? ? ? ? ? i['備注']= input('請(qǐng)輸入修改后的:') ? ? ? ? ? ? break ? ? ? ? elif i['學(xué)號(hào)'] == a : ? ? ? ? ? ? if b=="1": ? ? ? ? ? ? ? ? i['學(xué)號(hào)']=input('請(qǐng)輸入修改后的:') ? ? ? ? ? ? elif b=='2': ? ? ? ? ? ? ? ? i['姓名']=input('請(qǐng)輸入修改后的:') ? ? ? ? ? ? elif b=='3': ? ? ? ? ? ? ? ? i['性別'] = input('請(qǐng)輸入修改后的:') ? ? ? ? ? ? elif b=='4': ? ? ? ? ? ? ? ? i['年齡'] = input('請(qǐng)輸入修改后的:') ? ? ? ? ? ? else: ? ? ? ? ? ? ? ? i['備注']= input('請(qǐng)輸入修改后的:') ? ? ? ? ? ? break ? ? ? ? else: ? ? ? ? ? ? print('請(qǐng)輸入學(xué)號(hào)、或姓名進(jìn)行查詢') #學(xué)生基本信息查詢 def select_information(): ? ? a = input('請(qǐng)輸入你要查詢?nèi)说男彰驅(qū)W號(hào)') ? ? for i in s_information: ? ? ? ? if i['姓名'] ?== a: ? ? ? ? ? ? print(i) ? ? ? ? ? ? break ? ? ? ? elif i['學(xué)號(hào)'] == a : ? ? ? ? ? ? print(i) ? ? ? ? ? ? break ? ? ? ? else: ? ? ? ? ? ? print(''請(qǐng)輸入學(xué)號(hào)或者姓名進(jìn)行查詢') #學(xué)生信息保存 def write_tofile(): ? ? a = input('請(qǐng)輸入你要保存文件的名稱:') ? ? wb=Workbook() ? ? sheet1 = wb.create_sheet('學(xué)生信息表',0) ? ? sheet1.cell(row=1,column=1).value='學(xué)號(hào)' ? ? 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]['學(xué)號(hào)'] ? ? ? ? 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) ? ? ?? #設(shè)置主函數(shù) def main2(): ? ? ? while True:#設(shè)置登錄密碼 ? ? ? ? ? ? print('------登陸-------') ? ? ? ? ? ? print('賬號(hào)是學(xué)號(hào),密碼是學(xué)號(hào)后五位') ? ? ? ? ? ? key_word = input("賬號(hào):") ? ? ? ? ? ? password = input("密碼:") ? ? ? ? ? ? while True and password == ?key_word[-5:] and len(key_word) > 5: ? ? ? ? ? ? ? ? print('------班級(jí)管理系統(tǒng)------') ? ? ? ? ? ? ? ? ? ? ? ? ? ? print_menu() ? ?# 打印菜單 ? ? ? ? ? ? ? ? num = input('請(qǐng)輸入您的選項(xiàng):') ? ? ? ? ? ? ? ? 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('您選擇的有誤,請(qǐng)重新選擇') ? ? ? ? ? ? else: ? ? ? ? ? ? ? ? print('你輸入的密碼有誤,請(qǐng)重新輸入') if __name__ == '__main__': ? ? main2()
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- python學(xué)生信息管理系統(tǒng)(完整版)
- Python實(shí)現(xiàn)GUI學(xué)生信息管理系統(tǒng)
- python實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)
- python實(shí)現(xiàn)簡(jiǎn)易學(xué)生信息管理系統(tǒng)
- Python學(xué)生成績(jī)管理系統(tǒng)簡(jiǎn)潔版
- python學(xué)生管理系統(tǒng)代碼實(shí)現(xiàn)
- python學(xué)生信息管理系統(tǒng)
- Python基于mysql實(shí)現(xiàn)學(xué)生管理系統(tǒng)
- python學(xué)生信息管理系統(tǒng)實(shí)現(xiàn)代碼
- python學(xué)生信息管理系統(tǒng)(初級(jí)版)
相關(guān)文章
Python中的sorted函數(shù)應(yīng)用及文件操作詳解
這篇文章主要介紹了Python中的sorted函數(shù)應(yīng)用及文件操作詳解,python只能將字符串寫入到文本文件,要將數(shù)值數(shù)據(jù)存儲(chǔ)到文本本件中,必須先試用函數(shù)str()將其轉(zhuǎn)換為字符串格式,需要的朋友可以參考下2023-12-12Python入門開發(fā)教程 windows下搭建開發(fā)環(huán)境vscode的步驟詳解
大家都知道Python是跨平臺(tái)的,它可以運(yùn)行在Windows、Mac和各種Linux/Unix系統(tǒng)上。在Windows上寫Python程序,放到Linux上也是能夠運(yùn)行的,今天給大家分享Python開發(fā)環(huán)境搭建vscode的步驟,一起看看吧2021-07-07Python程序設(shè)計(jì)入門(1)基本語(yǔ)法簡(jiǎn)介
Python是當(dāng)今日趨流行的一種腳本語(yǔ)言,它比Java更簡(jiǎn)單,比php更強(qiáng)大,并且還適用于做桌面應(yīng)用的開發(fā),這篇文章主要介紹了Python基本語(yǔ)法,需要的朋友可以參考下2014-06-06Python使用pymupdf實(shí)現(xiàn)PDF內(nèi)容搜索并顯示功能
在日常工作和學(xué)習(xí)中,我們可能需要查找和提取PDF文件中的特定內(nèi)容,本文將介紹如何使用pymupdf實(shí)現(xiàn)PDF內(nèi)容搜索并顯示的功能,需要的可以參考下2023-08-08pandas時(shí)間序列之pd.to_datetime()的實(shí)現(xiàn)
本文主要介紹了pandas時(shí)間序列之pd.to_datetime()的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧<BR>2022-06-06python中類變量與成員變量的使用注意點(diǎn)總結(jié)
python 的類中主要會(huì)使用的兩種變量:類變量與成員變量。類變量是類所有實(shí)例化對(duì)象共有的,而成員變量是每個(gè)實(shí)例化對(duì)象自身特有的。下面這篇文章主要給大家介紹了在python中類變量與成員變量的一些使用注意點(diǎn),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-04-04Python實(shí)現(xiàn)解析ini配置文件的示例詳解
在開發(fā)過(guò)程中,配置文件是少不了的,而且配置文件是有專門的格式的,比如:ini,?yaml,?toml?等等。而對(duì)于?Python?而言,也都有相應(yīng)的庫(kù)來(lái)解析相應(yīng)格式的文件,下面我們來(lái)看看?ini?文件要如何解析2022-09-09Django框架搭建的簡(jiǎn)易圖書信息網(wǎng)站案例
這篇文章主要介紹了Django框架搭建的簡(jiǎn)易圖書信息網(wǎng)站案例,結(jié)合具體實(shí)例形式分析了基于Django框架實(shí)現(xiàn)圖書信息管理網(wǎng)站的具體步驟、相關(guān)實(shí)現(xiàn)技巧與操作注意事項(xiàng),需要的朋友可以參考下2019-05-05