python學(xué)生管理系統(tǒng)
這幾天開始接觸了python語(yǔ)言,這語(yǔ)言相對(duì)c語(yǔ)言簡(jiǎn)潔了不少,語(yǔ)言真是一通百通,學(xué)起來(lái)還是比較輕松,在熟悉了基本語(yǔ)法,列表(序列),元組以及字典之后寫了一個(gè)最基礎(chǔ)簡(jiǎn)單的的學(xué)生管理系統(tǒng)
能完成的功能有:
學(xué)生管理系統(tǒng) v1.0
1.添加學(xué)生的信息
2.刪除學(xué)生的信息
3.修改學(xué)生的信息
4.查詢學(xué)生的信息
5.遍歷所有學(xué)生的信息
6.退出系統(tǒng)
學(xué)生信息中,學(xué)號(hào)是唯一的,所以進(jìn)行刪除,修改,查詢都會(huì)有學(xué)號(hào)的唯一的檢測(cè)
1.框架顯示以及添加學(xué)生的功能

2.添加兩個(gè)學(xué)生之后,進(jìn)行顯示功能

3.刪除功能,以及其他也都有學(xué)號(hào)唯一檢測(cè)功能!

4.修改信息功能

5.查詢信息以及退出界面

接下來(lái)是代碼
#encoding utf=8
#定義一個(gè)函數(shù),顯示可以使用的功能列表給用戶
def showInfo():
print("-"*30)
print(" 學(xué)生管理系統(tǒng) v1.0")
print(" 1.添加學(xué)生的信息")
print(" 2.刪除學(xué)生的信息")
print(" 3.修改學(xué)生的信息")
print(" 4.查詢學(xué)生的信息")
print(" 5.遍歷所有學(xué)生的信息")
print(" 6.退出系統(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é)生信息功能")
name = input("請(qǐng)輸入學(xué)生姓名:")
stuId = input("請(qǐng)輸入學(xué)生學(xué)號(hào)(學(xué)號(hào)不可重復(fù)):")
age = input("請(qǐng)輸入學(xué)生年齡:")
#驗(yàn)證學(xué)號(hào)是否唯一
i = 0
leap = 0
for temp in students:
if temp['id'] == stuId:
leap = 1
break
else:
i = i + 1
if leap == 1:
print("輸入學(xué)生學(xué)號(hào)重復(fù),添加失??!")
break
else:
# 定義一個(gè)字典,存放單個(gè)學(xué)生信息
stuInfo = {}
stuInfo['name'] = name
stuInfo['id'] = stuId
stuInfo['age'] = age
# 單個(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 temp in students:
if temp['id'] == 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 temp in students:
if temp['id'] == 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 temp1 in students:
if temp1['id'] == newId:
leap1 = 1
break
else:
i = i + 1
if leap1 == 1:
print("輸入學(xué)號(hào)不可重復(fù),修改失敗!")
else:
temp['id']=newId
print("學(xué)號(hào)修改成功")
elif alterNum == 2:
newName=input("輸入更改后的姓名:")
temp['name'] = newName
print("姓名修改成功")
elif alterNum == 3:
newAge=input("輸入更改后的年齡:")
temp['age'] = 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 temp in students:
if temp['id'] == 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"%(temp['id'],temp['name'],temp['age']))
elif key == 5:
#遍歷并輸出所有學(xué)生的信息
print('*'*20)
print("接下來(lái)進(jìn)行遍歷所有的學(xué)生信息...")
print("id 姓名 年齡")
for temp in students:
print("%s %s %s"%(temp['id'],temp['name'],temp['age']))
print("*"*20)
elif key == 6:
#退出功能,盡量往不退出的方向引
quitconfirm = input("親,真的要退出么 (yes或者no)??~~(>_<)~~??")
if quitconfirm == 'yes':
print("歡迎使用本系統(tǒng),謝謝")
break;
else:
print("您輸入有誤,請(qǐng)重新輸入")
一些功能模塊在后續(xù)會(huì)做成函數(shù)調(diào)用的方式,可以使程序看起來(lái)更加簡(jiǎn)潔。
以上就是本文的全部?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)開發(fā)
- 基于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中scipy.misc.logsumexp函數(shù)的運(yùn)用場(chǎng)景
下面小編就為大家?guī)?lái)一篇淺談python中scipy.misc.logsumexp函數(shù)的運(yùn)用場(chǎng)景。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2016-06-06
TensorFlow深度學(xué)習(xí)另一種程序風(fēng)格實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)
這篇文章主要介紹了TensorFlow卷積神經(jīng)網(wǎng)絡(luò)的另一種程序風(fēng)格實(shí)現(xiàn)方式示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11
Python實(shí)現(xiàn)郵件發(fā)送的詳細(xì)設(shè)置方法(遇到問題)
這篇文章主要介紹了Python實(shí)現(xiàn)郵件發(fā)送的詳細(xì)設(shè)置方法(遇到問題),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
在Python3中使用asyncio庫(kù)進(jìn)行快速數(shù)據(jù)抓取的教程
這篇文章主要介紹了在Python3中使用asyncio進(jìn)行快速數(shù)據(jù)抓取,asyncio是一個(gè)異步IO庫(kù),運(yùn)行效率較高,需要的朋友可以參考下2015-04-04
Python接口自動(dòng)化之淺析requests模塊post請(qǐng)求
這篇文章Python接口自動(dòng)化之淺析requests模塊post請(qǐng)求,以下主要介紹requests模塊中的post請(qǐng)求的使用,post源碼,data、json參數(shù)應(yīng)用場(chǎng)景及實(shí)戰(zhàn)2021-08-08

