python學(xué)生信息管理系統(tǒng)(初級(jí)版)
本文為大家分享了python學(xué)生信息管理系統(tǒng)的初級(jí)實(shí)現(xiàn)代碼,供大家參考,具體內(nèi)容如下
學(xué)生信息管理項(xiàng)目,要求帶操作界面,并完成每項(xiàng)操作:
+----------------------+
| 1)添加學(xué)生信息 |
| 2)顯示所有學(xué)生的信息 ?。?br />| 3)刪除學(xué)生信息 ?。?br />| 4)修改學(xué)生信息 ?。?br />| 5)按學(xué)生成績(jī)高-低顯示學(xué)生信息 |
| 6)按學(xué)生成績(jī)低-高顯示學(xué)生信息 ?。?br />| 7)按學(xué)生年齡高-低顯示學(xué)生信息 ?。?br />| 8)按學(xué)生年齡低-高顯示學(xué)生信息 |
| 9)退出 |
學(xué)生信息包括有:名字,年齡,成績(jī)
注:按照正常的輸入流程沒有問題,還有待完善(完整版參見下一篇:Python項(xiàng)目:學(xué)生信息管理系統(tǒng)(完整版) )
詳細(xì)代碼如下:
# student_info.py
# 學(xué)生信息管理項(xiàng)目,要求帶操作界面:
# +----------------------+
# | 1)添加學(xué)生信息 |
# | 2)顯示所有學(xué)生的信息 ?。?
# | 3)刪除學(xué)生信息 ?。?
# | 4)修改學(xué)生信息 ?。?
# | 5)按學(xué)生成績(jī)高-低顯示學(xué)生信息 |
# | 6)按學(xué)生成績(jī)低-高顯示學(xué)生信息 ?。?
# | 7)按學(xué)生年齡高-低顯示學(xué)生信息 ?。?
# | 8)按學(xué)生年齡低-高顯示學(xué)生信息 ?。?
# | 9)退出 |
def meun():
menu_info = '''+----------------------+
| 1)添加學(xué)生信息 |
| 2)顯示所有學(xué)生的信息 |
| 3)刪除學(xué)生信息 |
| 4)修改學(xué)生信息 |
| 5)按學(xué)生成績(jī)高-低顯示學(xué)生信息 |
| 6)按學(xué)生成績(jī)低-高顯示學(xué)生信息 |
| 7)按學(xué)生年齡高-低顯示學(xué)生信息 |
| 8)按學(xué)生年齡低-高顯示學(xué)生信息 |
| 9)退出 |
'''
print(menu_info)
# 以下二個(gè)函數(shù)用于sorted排序, key的表達(dá)式函數(shù)
def get_age(*l):
for x in l:
return x.get("age")
def get_score(*l):
for x in l:
return x.get("score")
# 1)添加學(xué)生信息
def add_student_info():
L = []
while True:
n = input("請(qǐng)輸入名字:")
if not n: # 名字為空 跳出循環(huán)
break
a = int(input("請(qǐng)輸入年齡:"))
s = int(input("請(qǐng)輸入成績(jī):"))
info = {"name":n,"age":a,"score":s}
L.append(info)
return L
# 2)顯示所有學(xué)生的信息
def show_student_info(student_info):
print("名字".center(8),"年齡".center(4),"成績(jī)".center(4))
for info in student_info:
print(info.get("name").center(10),str(info.get("age")).center(4),str(info.get("score")).center(4))
# 3)刪除學(xué)生信息
def del_student_info(student_info,del_name = ''):
if not del_name:
del_name = input("請(qǐng)輸入刪除的學(xué)生姓名:")
for info in student_info:
if del_name == info.get("name"):
return info
# 4)修改學(xué)生信息
def mod_student_info(student_info):
mod_name = input("請(qǐng)輸入修改的學(xué)生姓名:")
for info in student_info:
if mod_name == info.get("name"):
a = int(input("請(qǐng)輸入年齡:"))
s = int(input("請(qǐng)輸入成績(jī):"))
info = {"name":mod_name,"age":a,"score":s}
return info
raise IndexError("學(xué)生信息不匹配,沒有找到%s" %mod_name)
# 5)按學(xué)生成績(jī)高-低顯示學(xué)生信息
def score_reduce(student_info):
print("按學(xué)生成績(jī)高-低顯示")
mit = sorted(student_info ,key = get_score,reverse = True)
show_student_info(mit)
# 6)按學(xué)生成績(jī)低-高顯示學(xué)生信息
def score_rise(student_info):
print("按學(xué)生成績(jī)低-高顯示")
mit = sorted(student_info ,key = get_score)
show_student_info(mit)
# 7)按學(xué)生年齡高-低顯示學(xué)生信息
def age_reduce(student_info):
print("按學(xué)生年齡高-低顯示:")
mit = sorted(student_info ,key = get_age,reverse = True)
show_student_info(mit)
# 8)按學(xué)生年齡低-高顯示學(xué)生信息
def age_rise(student_info):
print("按學(xué)生年齡低-高顯示:")
mit = sorted(student_info ,key = get_age)
show_student_info(mit)
def main():
student_info = []
while True:
meun()
number = input("請(qǐng)輸入選項(xiàng):")
if number == '1':
student_info = add_student_info()
elif number == '2':
show_student_info(student_info)
elif number == '3':
student_info.remove(del_student_info(student_info))
elif number == '4':
try:
student = mod_student_info(student_info)
except Exception as e:
# 學(xué)生姓名不匹配
print(e)
else:
# 首先按照根據(jù)輸入信息的名字,從列表中刪除該生信息,然后重新添加該學(xué)生最新信息
student_info.remove(del_student_info(student_info,del_name = student.get("name")))
student_info.append(student)
elif number == '5':
score_reduce(student_info)
elif number == '6':
score_rise(student_info)
elif number == '7':
age_reduce(student_info)
elif number == '8':
age_rise(student_info)
elif number == '9':
break
else:
break
main()程序效果如下:

以上就是本文的全部?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é)生信息管理系統(tǒng)
- python學(xué)生信息管理系統(tǒng)實(shí)現(xiàn)代碼
- python實(shí)現(xiàn)簡(jiǎn)單學(xué)生信息管理系統(tǒng)
- python學(xué)生信息管理系統(tǒng)實(shí)現(xiàn)代碼
- python代碼實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)
- Python結(jié)合MySQL數(shù)據(jù)庫編寫簡(jiǎn)單信息管理系統(tǒng)完整實(shí)例
相關(guān)文章
Python實(shí)現(xiàn)線性搜索算法的示例代碼
線性搜索算法,也稱為順序搜索算法,是一種簡(jiǎn)單但常用的搜索技術(shù),在本文中,將深入研究線性搜索算法,并演示如何在?Python?中實(shí)現(xiàn)它,需要的可以參考下2024-02-02
python實(shí)現(xiàn)在字符串中查找子字符串的方法
這篇文章主要介紹了python實(shí)現(xiàn)在字符串中查找子字符串的方法,涉及Python中find方法的相關(guān)使用技巧,需要的朋友可以參考下2015-07-07
Python采集股票數(shù)據(jù)并制作可視化柱狀圖
這篇文章主要介紹了如何利用Python采集股票數(shù)據(jù)并制作可視化柱狀圖,文中的示例代碼講解詳細(xì),快來跟上小編一起動(dòng)手嘗試一下吧2022-04-04
在Qt中正確的設(shè)置窗體的背景圖片的幾種方法總結(jié)
今天小編就為大家分享一篇在Qt中正確的設(shè)置窗體的背景圖片的幾種方法總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-06-06
python基于爬蟲+django,打造個(gè)性化API接口
這篇文章主要介紹了python基于爬蟲+django,打造個(gè)性化API接口的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2021-01-01
如何基于Python實(shí)現(xiàn)數(shù)字類型轉(zhuǎn)換
這篇文章主要介紹了如何基于Python實(shí)現(xiàn)數(shù)字類型轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02
python3利用Dlib19.7實(shí)現(xiàn)人臉68個(gè)特征點(diǎn)標(biāo)定
這篇文章主要為大家詳細(xì)介紹了python3利用Dlib19.7實(shí)現(xiàn)人臉68個(gè)特征點(diǎn)標(biāo)定,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02

