python學(xué)生信息管理系統(tǒng)(初級版)
本文為大家分享了python學(xué)生信息管理系統(tǒng)的初級實(shí)現(xiàn)代碼,供大家參考,具體內(nèi)容如下
學(xué)生信息管理項(xiàng)目,要求帶操作界面,并完成每項(xiàng)操作:
+----------------------+
| 1)添加學(xué)生信息 ?。?br />| 2)顯示所有學(xué)生的信息 |
| 3)刪除學(xué)生信息 ?。?br />| 4)修改學(xué)生信息 ?。?br />| 5)按學(xué)生成績高-低顯示學(xué)生信息 |
| 6)按學(xué)生成績低-高顯示學(xué)生信息 ?。?br />| 7)按學(xué)生年齡高-低顯示學(xué)生信息 ?。?br />| 8)按學(xué)生年齡低-高顯示學(xué)生信息 |
| 9)退出 |
學(xué)生信息包括有:名字,年齡,成績
注:按照正常的輸入流程沒有問題,還有待完善(完整版參見下一篇:Python項(xiàng)目:學(xué)生信息管理系統(tǒng)(完整版) )
詳細(xì)代碼如下:
# student_info.py # 學(xué)生信息管理項(xiàng)目,要求帶操作界面: # +----------------------+ # | 1)添加學(xué)生信息 ?。? # | 2)顯示所有學(xué)生的信息 | # | 3)刪除學(xué)生信息 ?。? # | 4)修改學(xué)生信息 ?。? # | 5)按學(xué)生成績高-低顯示學(xué)生信息 ?。? # | 6)按學(xué)生成績低-高顯示學(xué)生信息 ?。? # | 7)按學(xué)生年齡高-低顯示學(xué)生信息 ?。? # | 8)按學(xué)生年齡低-高顯示學(xué)生信息 | # | 9)退出 ?。? def meun(): menu_info = '''+----------------------+ | 1)添加學(xué)生信息 | | 2)顯示所有學(xué)生的信息 | | 3)刪除學(xué)生信息 | | 4)修改學(xué)生信息 | | 5)按學(xué)生成績高-低顯示學(xué)生信息 | | 6)按學(xué)生成績低-高顯示學(xué)生信息 | | 7)按學(xué)生年齡高-低顯示學(xué)生信息 | | 8)按學(xué)生年齡低-高顯示學(xué)生信息 | | 9)退出 | ''' print(menu_info) # 以下二個函數(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("請輸入名字:") if not n: # 名字為空 跳出循環(huán) break a = int(input("請輸入年齡:")) s = int(input("請輸入成績:")) 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),"成績".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("請輸入刪除的學(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("請輸入修改的學(xué)生姓名:") for info in student_info: if mod_name == info.get("name"): a = int(input("請輸入年齡:")) s = int(input("請輸入成績:")) info = {"name":mod_name,"age":a,"score":s} return info raise IndexError("學(xué)生信息不匹配,沒有找到%s" %mod_name) # 5)按學(xué)生成績高-低顯示學(xué)生信息 def score_reduce(student_info): print("按學(xué)生成績高-低顯示") mit = sorted(student_info ,key = get_score,reverse = True) show_student_info(mit) # 6)按學(xué)生成績低-高顯示學(xué)生信息 def score_rise(student_info): print("按學(xué)生成績低-高顯示") 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("請輸入選項(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()
程序效果如下:
以上就是本文的全部內(nèi)容,希望對大家的學(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)簡易學(xué)生信息管理系統(tǒng)
- python學(xué)生信息管理系統(tǒng)
- python學(xué)生信息管理系統(tǒng)實(shí)現(xiàn)代碼
- python實(shí)現(xiàn)簡單學(xué)生信息管理系統(tǒng)
- python學(xué)生信息管理系統(tǒng)實(shí)現(xiàn)代碼
- python代碼實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)
- Python結(jié)合MySQL數(shù)據(jù)庫編寫簡單信息管理系統(tǒng)完整實(shí)例
相關(guān)文章
用PyInstaller把Python代碼打包成單個獨(dú)立的exe可執(zhí)行文件
這篇文章主要介紹了用PyInstaller把Python代碼打包成單個獨(dú)立的exe可執(zhí)行文件,需要的朋友可以參考下2018-05-05python實(shí)現(xiàn)一個簡單的web應(yīng)用框架
這篇文章主要為大家介紹了使用python寫一個簡單的web應(yīng)用框架實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)在字典中將鍵映射到多個值上的方法
這篇文章主要介紹了Python在字典中將鍵映射到多個值上的方法,涉及Python針對字典的相關(guān)映射與初始化相關(guān)操作技巧,需要的朋友可以參考下2018-02-02運(yùn)行python提示no module named sklearn的解決方法
這篇文章主要介紹了運(yùn)行python提示no module named sklearn的解決方法,需要的朋友可以參考下2020-11-11Python之csv文件從MySQL數(shù)據(jù)庫導(dǎo)入導(dǎo)出的方法
今天小編就為大家分享一篇Python之csv文件從MySQL數(shù)據(jù)庫導(dǎo)入導(dǎo)出的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06