python學(xué)生管理系統(tǒng)開(kāi)發(fā)
本文實(shí)例為大家分享了python學(xué)生管理系統(tǒng)開(kāi)發(fā)的具體代碼,供大家參考,具體內(nèi)容如下
學(xué)生管理系統(tǒng)(基礎(chǔ)版)
#定義一個(gè)函數(shù),顯示可以使用的功能列表給用戶 def showInfo(): print("-"*30) print(" 學(xué)生管理系統(tǒng) ") print(" 1.添加學(xué)生的信息") print(" 2.刪除學(xué)生的信息") print(" 3.修改學(xué)生的信息") print(" 4.查詢(xún)學(xué)生的信息") print(" 5.遍歷所有學(xué)生的信息") print(" 0.退出系統(tǒng)") print( '-'*30) #定義一個(gè)列表,用來(lái)存儲(chǔ)多個(gè)學(xué)生的信息 students=[] while True: #把功能列表進(jìn)行顯示給用戶 showInfo() #提示用戶選擇功能 #獲取用戶選擇的功能 key = int(input("請(qǐng)選擇功能(序號(hào)):")) #根據(jù)用戶選擇,完成相應(yīng)功能 if key == 1: print("您選擇了添加學(xué)生信息功能") stuName = input("請(qǐng)輸入學(xué)生姓名:") stuId = input("請(qǐng)輸入學(xué)生學(xué)號(hào)(學(xué)號(hào)不可重復(fù)):") stuAge = input("請(qǐng)輸入學(xué)生年齡:") #驗(yàn)證學(xué)號(hào)是否唯一 i = 0 leap = 0 for stu in students: if stu['stuId'] == stuId: leap = 1 break else: i = i + 1 if leap == 1: print("輸入學(xué)生學(xué)號(hào)重復(fù),添加失??!") else: # 定義一個(gè)字典,存放單個(gè)學(xué)生信息 stuInfo = {} stuInfo['stuName'] = stuName stuInfo['stuId'] = stuId stuInfo['stuAge'] = stuAge # 單個(gè)學(xué)生信息放入列表 students.append(stuInfo) print("添加成功!") elif key == 2: print("您選擇了刪除學(xué)生功能") delId=input("請(qǐng)輸入要?jiǎng)h除的學(xué)生學(xué)號(hào):") #i記錄要?jiǎng)h除的下標(biāo),leap為標(biāo)志位,如果找到leap=1,否則為0 i = 0 leap = 0 for stu in students: if stu['stuId'] == delId: leap = 1 break else: i=i+1 if leap == 0: print("沒(méi)有此學(xué)生學(xué)號(hào),刪除失?。?) else: del students[i] print("刪除成功!") elif key == 3: print("您選擇了修改學(xué)生信息功能") alterId=input("請(qǐng)輸入你要修改學(xué)生的學(xué)號(hào):") #檢測(cè)是否有此學(xué)號(hào),然后進(jìn)行修改信息 i = 0 leap = 0 for stu in students: if stu['stuId'] == alterId: leap = 1 break else: i = i + 1 if leap == 1: while True: alterNum=int(input(" 1.修改學(xué)號(hào)\n 2.修改姓名 \n 3.修改年齡 \n 4.退出修改\n")) if alterNum == 1: newId=input("輸入更改后的學(xué)號(hào):") #修改后的學(xué)號(hào)要驗(yàn)證是否唯一 i = 0 leap1 = 0 for stu1 in students: if stu1['stuId'] == newId: leap1 = 1 break else: i = i + 1 if leap1 == 1: print("輸入學(xué)號(hào)不可重復(fù),修改失敗!") else: stu['stuId']=newId print("學(xué)號(hào)修改成功") elif alterNum == 2: newName=input("輸入更改后的姓名:") stu['stuName'] = newName print("姓名修改成功") elif alterNum == 3: newAge=input("輸入更改后的年齡:") stu['stuAge'] = newAge print("年齡修改成功") elif alterNum == 4: break else: print("輸入錯(cuò)誤請(qǐng)重新輸入") else: print("沒(méi)有此學(xué)號(hào),修改失??!") elif key == 4: print("您選擇了查詢(xún)學(xué)生信息功能") searchID=input("請(qǐng)輸入你要查詢(xún)學(xué)生的學(xué)號(hào):") #驗(yàn)證是否有此學(xué)號(hào) i = 0 leap = 0 for stu in students: if stu['stuId'] == searchID: leap = 1 break else: i = i + 1 if leap == 0: print("沒(méi)有此學(xué)生學(xué)號(hào),查詢(xún)失??!") else: print("找到此學(xué)生,信息如下:") print("學(xué)號(hào):%s\n姓名:%s\n年齡:%s\n"%(stu['stuId'],stu['stuName'],stu['stuAge'])) elif key == 5: #遍歷并輸出所有學(xué)生的信息 print('*'*20) print("接下來(lái)進(jìn)行遍歷所有的學(xué)生信息...") print("id 姓名 年齡") for stu in students: print("%s %s %s"%(stu['stuId'],stu['stuName'],stu['stuAge'])) print("*"*20) elif key == 0: #退出功能,盡量往不退出的方向引 quitconfirm = input("親,真的要退出么 (yes或者no)??~~(>_<)~~??") if quitconfirm == 'yes': print("歡迎使用本系統(tǒng),謝謝") break; else: print("您輸入有誤,請(qǐng)重新輸入")
學(xué)生管理系統(tǒng)(函數(shù)版)
#定義一個(gè)函數(shù),顯示可以使用的功能列表給用戶 def showInfo(): ''' 顯示可以使用的功能列表給用戶 ''' print("-"*30) print(" 學(xué)生管理系統(tǒng) ") print(" 1.添加學(xué)生的信息") print(" 2.刪除學(xué)生的信息") print(" 3.修改學(xué)生的信息") print(" 4.查詢(xún)學(xué)生的信息") print(" 5.遍歷所有學(xué)生的信息") print(" 0.退出系統(tǒng)") print( '-'*30) #定義一個(gè)列表,用來(lái)存儲(chǔ)多個(gè)學(xué)生的信息 students=[] #添加學(xué)生函數(shù) def addStudent(): ''' 添加一個(gè)學(xué)生,需要傳入姓名、年齡、學(xué)號(hào) ''' #輸入學(xué)員姓名、年齡、學(xué)號(hào) stuName = input("請(qǐng)輸入學(xué)生姓名:") stuId = input("請(qǐng)輸入學(xué)生學(xué)號(hào)(學(xué)號(hào)不可重復(fù)):") stuAge = input("請(qǐng)輸入學(xué)生年齡:") #驗(yàn)證學(xué)號(hào)是否唯一 #i記錄要?jiǎng)h除的下標(biāo),leap為標(biāo)志位,如果找到leap=1,否則為0 i = 0 leap = 0 #循環(huán)判斷 for stu in students: if stu['stuId'] == stuId: leap = 1 break else: i = i + 1 #leap == 1代表學(xué)生學(xué)號(hào) if leap == 1: print("輸入學(xué)生學(xué)號(hào)重復(fù),添加失?。?) else: # 定義一個(gè)字典,存放單個(gè)學(xué)生信息 stuInfo = {} stuInfo['stuName'] = stuName stuInfo['stuId'] = stuId stuInfo['stuAge'] = stuAge # 單個(gè)學(xué)生信息放入列表 students.append(stuInfo) print("添加成功!") #刪除學(xué)生函數(shù) def deleteStudent(): ''' 根據(jù)學(xué)號(hào)刪除學(xué)生,學(xué)號(hào) ''' print("您選擇了刪除學(xué)生功能") delId=input("請(qǐng)輸入要?jiǎng)h除的學(xué)生學(xué)號(hào):") #i記錄要?jiǎng)h除的下標(biāo),leap為標(biāo)志位,如果找到leap=1,否則為0 i = 0 leap = 0 for stu in students: if stu['stuId'] == delId: leap = 1 break else: i=i+1 if leap == 0: print("沒(méi)有此學(xué)生學(xué)號(hào),刪除失??!") else: del students[i] print("刪除成功!") #修改學(xué)生函數(shù) def updateStudent(): ''' 根據(jù)學(xué)號(hào)修改學(xué)生信息,學(xué)號(hào) ''' print("您選擇了修改學(xué)生信息功能") alterId=input("請(qǐng)輸入你要修改學(xué)生的學(xué)號(hào):") #檢測(cè)是否有此學(xué)號(hào),然后進(jìn)行修改信息 i = 0 leap = 0 for stu in students: if stu['stuId'] == alterId: leap = 1 break else: i = i + 1 if leap == 1: updateOperate() else: print("沒(méi)有此學(xué)號(hào),修改失??!") def updateOperate(): ''' 根據(jù)用戶選擇不同的操作來(lái)修改學(xué)生的信息 ''' while True: alterNum=int(input(" 1.修改學(xué)號(hào)\n 2.修改姓名 \n 3.修改年齡 \n 4.退出修改\n")) if alterNum == 1: newId=input("輸入更改后的學(xué)號(hào):") #修改后的學(xué)號(hào)要驗(yàn)證是否唯一 i = 0 leap1 = 0 for stu1 in students: if stu1['stuId'] == newId: leap1 = 1 break else: i = i + 1 if leap1 == 1: print("輸入學(xué)號(hào)不可重復(fù),修改失敗!") else: stu['stuId']=newId print("學(xué)號(hào)修改成功") elif alterNum == 2: #修改姓名操作 newName=input("輸入更改后的姓名:") stu['stuName'] = newName print("姓名修改成功") elif alterNum == 3: #修改年齡操作 newAge=input("輸入更改后的年齡:") stu['stuAge'] = newAge print("年齡修改成功") elif alterNum == 4: break else: print("輸入錯(cuò)誤請(qǐng)重新輸入") #查詢(xún)單個(gè)學(xué)生信息函數(shù) def getStudentById(): ''' 根據(jù)學(xué)號(hào)查詢(xún)學(xué)生信息,需要傳入學(xué)號(hào) ''' print("您選擇了查詢(xún)學(xué)生信息功能") searchID=input("請(qǐng)輸入你要查詢(xún)學(xué)生的學(xué)號(hào):") #驗(yàn)證是否有此學(xué)號(hào) i = 0 leap = 0 for stu in students: if stu['stuId'] == searchID: leap = 1 break else: i = i + 1 if leap == 0: print("沒(méi)有此學(xué)生學(xué)號(hào),查詢(xún)失?。?) else: print("找到此學(xué)生,信息如下:") print("學(xué)號(hào):%s\n姓名:%s\n年齡:%s\n"%(stu['stuId'],stu['stuName'],stu['stuAge'])) #查詢(xún)所有學(xué)生信息函數(shù) def getAllStudent(): ''' 查詢(xún)所有學(xué)生信息 ''' #遍歷并輸出所有學(xué)生的信息 print('*'*20) print("接下來(lái)進(jìn)行遍歷所有的學(xué)生信息...") print("stuId 姓名 年齡") for stu in students: print("%s %s %s"%(stu['stuId'],stu['stuName'],stu['stuAge'])) print("*"*20) #主函數(shù) def main(): ''' 主函數(shù):程序的入口 ''' while True: #把功能列表進(jìn)行顯示給用戶 showInfo() #提示用戶選擇功能 #獲取用戶選擇的功能 key = int(input("請(qǐng)選擇功能(序號(hào)):")) #根據(jù)用戶選擇,完成相應(yīng)功能 if key == 1: addStudent() elif key == 2: deleteStudent() elif key == 3: updateStudent() elif key == 4: getStudentById() elif key == 5: getAllStudent() elif key == 0: #退出功能,盡量往不退出的方向引 quitconfirm = input("親,真的要退出么 (yes或者no)") if quitconfirm == 'yes': print("歡迎使用本系統(tǒng),謝謝") break; else: print("您輸入有誤,請(qǐng)重新輸入") main()
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- python初學(xué)者,用python實(shí)現(xiàn)基本的學(xué)生管理系統(tǒng)(python3)代碼實(shí)例
- python學(xué)生管理系統(tǒng)學(xué)習(xí)筆記
- Python基于mysql實(shí)現(xiàn)學(xué)生管理系統(tǒng)
- python Tkinter版學(xué)生管理系統(tǒng)
- python學(xué)生管理系統(tǒng)
- 基于python實(shí)現(xiàn)學(xué)生管理系統(tǒng)
- python實(shí)現(xiàn)學(xué)生管理系統(tǒng)
- python版學(xué)生管理系統(tǒng)
- python學(xué)生管理系統(tǒng)代碼實(shí)現(xiàn)
- 詳解用python實(shí)現(xiàn)基本的學(xué)生管理系統(tǒng)(文件存儲(chǔ)版)(python3)
相關(guān)文章
matplotlib實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)刷新的示例代碼
這篇文章主要介紹了matplotlib實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)刷新的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01Python?OpenCV超詳細(xì)講解調(diào)整大小與圖像操作的實(shí)現(xiàn)
OpenCV用C++語(yǔ)言編寫(xiě),它具有C?++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac?OS,OpenCV主要傾向于實(shí)時(shí)視覺(jué)應(yīng)用,并在可用時(shí)利用MMX和SSE指令,本篇文章帶你通過(guò)OpenCV實(shí)現(xiàn)重調(diào)大小與圖像裁剪2022-04-04Python 多線程,threading模塊,創(chuàng)建子線程的兩種方式示例
這篇文章主要介紹了Python 多線程,threading模塊,創(chuàng)建子線程的兩種方式,結(jié)合實(shí)例形式分析了Python線程的原理與創(chuàng)建子線程的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-09-09手把手帶你了解Python數(shù)據(jù)分析--matplotlib
這篇文章主要介紹了Python實(shí)現(xiàn)matplotlib顯示中文的方法,結(jié)合實(shí)例形式詳細(xì)總結(jié)分析了Python使用matplotlib庫(kù)繪圖時(shí)顯示中文的相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2021-08-08Python運(yùn)維自動(dòng)化psutil模塊的監(jiān)控和管理深入探究
這篇文章主要為大家介紹了Python運(yùn)維自動(dòng)化psutil模塊的監(jiān)控和管理深入探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01Django在視圖中使用表單并和數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互的實(shí)現(xiàn)
本文主要介紹了Django在視圖中使用表單并和數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07python通過(guò)apply使用元祖和列表調(diào)用函數(shù)實(shí)例
這篇文章主要介紹了python通過(guò)apply使用元祖和列表調(diào)用函數(shù),實(shí)例分析了python中apply方法的使用技巧,需要的朋友可以參考下2015-05-05基于Python實(shí)現(xiàn)一鍵找出磁盤(pán)里所有貓照
最近在整理我磁盤(pán)上的照片,發(fā)現(xiàn)不少貓照,突然覺(jué)得若能把這些貓照都挑出來(lái),觀察它們的成長(zhǎng)軌跡也是一件不錯(cuò)的事情。一張一張的找實(shí)在是太費(fèi)勁了,能不能自動(dòng)化地找出來(lái)呢?本文將詳細(xì)為大家講講,需要的可以參考一下2022-05-05scrapy-redis分布式爬蟲(chóng)的搭建過(guò)程(理論篇)
這篇文章主要介紹了scrapy-redis分布式爬蟲(chóng)的搭建過(guò)程(理論篇),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09