python學(xué)生管理系統(tǒng)開發(fā)
本文實(shí)例為大家分享了python學(xué)生管理系統(tǒng)開發(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.查詢學(xué)生的信息")
print(" 5.遍歷所有學(xué)生的信息")
print(" 0.退出系統(tǒng)")
print( '-'*30)
#定義一個(gè)列表,用來存儲(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("沒有此學(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("沒有此學(xué)號(hào),修改失?。?)
elif key == 4:
print("您選擇了查詢學(xué)生信息功能")
searchID=input("請(qǐng)輸入你要查詢學(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("沒有此學(xué)生學(xué)號(hào),查詢失敗!")
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("接下來進(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.查詢學(xué)生的信息")
print(" 5.遍歷所有學(xué)生的信息")
print(" 0.退出系統(tǒng)")
print( '-'*30)
#定義一個(gè)列表,用來存儲(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("沒有此學(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("沒有此學(xué)號(hào),修改失??!")
def updateOperate():
'''
根據(jù)用戶選擇不同的操作來修改學(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)重新輸入")
#查詢單個(gè)學(xué)生信息函數(shù)
def getStudentById():
'''
根據(jù)學(xué)號(hào)查詢學(xué)生信息,需要傳入學(xué)號(hào)
'''
print("您選擇了查詢學(xué)生信息功能")
searchID=input("請(qǐng)輸入你要查詢學(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("沒有此學(xué)生學(xué)號(hào),查詢失敗!")
else:
print("找到此學(xué)生,信息如下:")
print("學(xué)號(hào):%s\n姓名:%s\n年齡:%s\n"%(stu['stuId'],stu['stuName'],stu['stuAge']))
#查詢所有學(xué)生信息函數(shù)
def getAllStudent():
'''
查詢所有學(xué)生信息
'''
#遍歷并輸出所有學(xué)生的信息
print('*'*20)
print("接下來進(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()
以上就是本文的全部內(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)文章
Python 強(qiáng)大的信號(hào)庫 blinker 入門詳細(xì)教程
這篇文章主要介紹了Python 強(qiáng)大的信號(hào)庫 blinker 入門教程,信號(hào)的特點(diǎn)就是發(fā)送端通知訂閱者發(fā)生了什么,使用信號(hào)分為 3 步:定義信號(hào),監(jiān)聽信號(hào),發(fā)送信號(hào),需要的朋友可以參考下2022-02-02
python GUI庫圖形界面開發(fā)之PyQt5信號(hào)與槽多窗口數(shù)據(jù)傳遞詳細(xì)使用方法與實(shí)例
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5信號(hào)與槽多窗口數(shù)據(jù)傳遞詳細(xì)使用方法與實(shí)例,需要的朋友可以參考下2020-03-03
Python基于面向?qū)ο笞鲆粋€(gè)文件夾整理工具
這篇文章主要給大家介紹了Python基于面向?qū)ο笞鲆粋€(gè)文件夾整理工具,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-02-02
Django中URL的參數(shù)傳遞的實(shí)現(xiàn)
這篇文章主要介紹了Django中URL的參數(shù)傳遞的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
python?爬取豆瓣電影短評(píng)并利用wordcloud生成詞云圖
這篇文章主要介紹了python?爬取豆瓣電影短評(píng)并利用wordcloud生成詞云圖,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-06-06
解決plt.savefig()和plt.show()方法得到的圖片不一樣問題
這篇文章主要介紹了解決plt.savefig()和plt.show()方法得到的圖片不一樣問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08
Pandas時(shí)間序列基礎(chǔ)詳解(轉(zhuǎn)換,索引,切片)
今天小編就為大家分享一篇Pandas時(shí)間序列基礎(chǔ)詳解(轉(zhuǎn)換,索引,切片),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-02-02

