一篇文章教你用Python實(shí)現(xiàn)一個(gè)學(xué)生管理系統(tǒng)
片頭
Python看了差不多三四天吧,基本上給基礎(chǔ)看差不多了。寫個(gè)管理系統(tǒng)吧,后續(xù)不出意外SQL、文件存儲(chǔ)版本都會(huì)更。
學(xué)習(xí)Python感想:
人生苦短,我用Python
人生苦短,我用Python
人生苦短,我用Python
人生苦短,我用Python
Python實(shí)在太爽了
源碼:
使用Python3
'''
學(xué)生成績(jī)管理系統(tǒng)
時(shí)間:2021.9.9
作者:sunbeam
'''
import time
import os
student_list = [] #定義一個(gè)列表類型全局變量
'''
列表里面存儲(chǔ)所有學(xué)生信息,列表里面每個(gè)元素是一個(gè)字典,字典里面存放每一個(gè)學(xué)生的個(gè)人信息,存儲(chǔ)結(jié)構(gòu)如下
[(姓名1,年齡1,學(xué)號(hào)1,手機(jī)號(hào)碼1),(姓名2,年齡2,學(xué)號(hào)2,手機(jī)號(hào)碼2)......]
'''
def time_day():
print()
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time())))
#主菜單界面
def std_menu():
print("--------歡迎來(lái)到sunbeam的第一個(gè)python學(xué)生管理系統(tǒng)--------")
print(" 1、添加學(xué)生信息 2、刪除學(xué)生信息 ")
print(" 3、查找學(xué)生信息 4、修改學(xué)生信息 ")
print(" 5、顯示所有學(xué)生 6、退出系統(tǒng) ")
num=int(input("根據(jù)需求請(qǐng)輸入對(duì)應(yīng)的序號(hào):"))
return num
#添加學(xué)生信息
def std_add():
while 1:
std_name = input("請(qǐng)輸入要添加的學(xué)生的姓名:")
std_old = input("請(qǐng)輸入要添加的學(xué)生的年齡:")
std_id = input("請(qǐng)輸入要添加的學(xué)生的學(xué)號(hào):")
std_tel = input("請(qǐng)輸入要添加的學(xué)生的電話號(hào)碼:")
global student_list
# 判斷學(xué)生是否已存在,如果姓名和學(xué)號(hào)都重復(fù)說(shuō)明學(xué)生存在
for i in student_list:
if (i['name'] == std_name) and (i['id'] == std_id):
print("此學(xué)生信息已存在")
return
#如果學(xué)生信息不存在則添加學(xué)生信息
std_message = {} #創(chuàng)建一個(gè)空的字典
std_message['name']=std_name
std_message['old']=std_old
std_message['id']=std_id
std_message['tel']=std_tel
student_list.append(std_message)
text=input("是否繼續(xù)添加:YES or NO")
if text=='NO':
os.system('cls')
break
else:
os.system('cls')
continue
#查找學(xué)生信息
def std_find():
flag=0
while 1:
find_name = input("請(qǐng)輸入你要查詢的學(xué)生的姓名:")
global student_list
for i in student_list:
if (i['name'] == find_name):
print("查詢到如下學(xué)生:")
print("-------------------")
print(f"姓名:{i['name']}")
print(f"年齡:{i['old']}")
print(f"學(xué)號(hào):{i['id']}")
print(f"電話:{i['tel']}")
print("-------------------")
flag=1
if flag==0:
print("查無(wú)此人")
lk=input("是否繼續(xù)查找:YES or NO")
if lk=="NO":
os.system('cls')
break
else:
os.system('cls')
continue
#修改學(xué)生信息
def std_modify():
while 1:
find_name=input("請(qǐng)輸入要修改的學(xué)生的學(xué)號(hào):")
global student_list
for i in student_list:
if (i['id']==find_name):
print("你要修改的學(xué)生信息如下:")
print("-------------------")
print(f"姓名:{i['name']}")
print(f"年齡:{i['old']}")
print(f"學(xué)號(hào):{i['id']}")
print(f"電話:{i['tel']}")
print('-----------------')
while 1:
print(" 1、修改學(xué)生姓名 2、修改學(xué)生年齡 ")
print(" 3、修改學(xué)生學(xué)號(hào) 4、修改學(xué)生電話 ")
modify_num = int(input('請(qǐng)輸入要修改的項(xiàng)目序號(hào):'))
if modify_num==1:
modify_name=input("請(qǐng)輸入要修改的學(xué)生的姓名:")
i['name']=modify_name
elif modify_num==2:
modify_old=input("請(qǐng)輸入要修改的學(xué)生的年齡:")
i['old']=modify_old
elif modify_num==3:
modify_id=input("請(qǐng)輸入要修改的學(xué)生的學(xué)號(hào):")
i['id']=modify_id
else:
modify_tel=input("請(qǐng)輸入要修改的學(xué)的生電話:")
i['tel']=modify_tel
print("是否繼續(xù)修改當(dāng)前學(xué)生信息:YES or NO")
print('---------------------')
modify_flag=input()
if modify_flag=="NO":
print("-----修改完成-----")
break
else:
continue
break
print("是否繼續(xù)使用修改模塊功能:YES or NO")
lag=input()
if lag=="YES":
os.system('cls')
continue
else:
os.system('cls')
break
#顯示所有學(xué)生信息
def std_all():
global student_list
print('姓名\t年齡\t學(xué)號(hào)\t電話')
for i in student_list:
print(f"{i['name']}\t{i['old']}\t{i['id']}\t{i['tel']}")
#刪除函數(shù)
def std_delete():
global student_list
while 1:
print("-----------------")
del_num = input("請(qǐng)輸入要?jiǎng)h除的學(xué)生的學(xué)號(hào):")
for i in student_list:
if (i['id'] == del_num):
student_list.remove(i)
print("刪除成功")
break
else:
print("查無(wú)此人")
del_exit=input("是否退出:YES or NO")
print("-----------------")
if del_exit=='YES':
os.system('cls')
break
else:
os.system('cls')
continue
while 1:
time_day()
user_num=std_menu()
if user_num==1:
std_add()
elif user_num==2:
std_delete()
elif user_num==3:
std_find()
elif user_num==4:
std_modify()
elif user_num==5:
std_all()
elif user_num==6:
os.system('cls')
exit_flag=input("是否退出:YES or NO")
if exit_flag=='YES':
print("感謝使用,bey-bey")
break
else:
continue
else:
print("輸入無(wú)用序號(hào),請(qǐng)輸入菜單前序號(hào)。")
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
- Python實(shí)現(xiàn)一個(gè)完整學(xué)生管理系統(tǒng)
- 基于Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的學(xué)生管理系統(tǒng)
- 基于Python實(shí)現(xiàn)面向?qū)ο蟀鎸W(xué)生管理系統(tǒng)
- Python實(shí)現(xiàn)功能全面的學(xué)生管理系統(tǒng)
- Python實(shí)現(xiàn)學(xué)生管理系統(tǒng)并生成exe可執(zhí)行文件詳解流程
- Python實(shí)現(xiàn)學(xué)生管理系統(tǒng)(面向?qū)ο蟀?
- python實(shí)現(xiàn)學(xué)生管理系統(tǒng)源碼
- Python使用pyinstaller實(shí)現(xiàn)學(xué)生管理系統(tǒng)流程
相關(guān)文章
python實(shí)現(xiàn)超簡(jiǎn)單端口轉(zhuǎn)發(fā)的方法
這篇文章主要介紹了python實(shí)現(xiàn)超簡(jiǎn)單端口轉(zhuǎn)發(fā)的方法,實(shí)例分析了Python同構(gòu)socket實(shí)現(xiàn)端口轉(zhuǎn)發(fā)的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03
calendar在python3時(shí)間中常用函數(shù)舉例詳解
這篇文章主要介紹了calendar在python3時(shí)間中常用函數(shù)的相關(guān)文章,對(duì)此知識(shí)點(diǎn)有興趣的朋友們可以學(xué)習(xí)下。2020-11-11
pycharm顯示遠(yuǎn)程圖片的實(shí)現(xiàn)
這篇文章主要介紹了pycharm顯示遠(yuǎn)程圖片的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
Python的json模塊中json.load()和json.loads()的區(qū)別
這篇文章主要介紹了Python的json模塊中json.load()和json.loads()的區(qū)別,json.load用于從一個(gè)文件對(duì)象中讀取JSON數(shù)據(jù)并將其解析為Python對(duì)象,而json.loads用于解析一個(gè)JSON格式的字符串并將其轉(zhuǎn)換為Python對(duì)象,根據(jù)你的具體需求選擇使用哪個(gè)方法,需要的朋友可以參考下2024-12-12
利用Pandas讀取某列某行數(shù)據(jù)之loc和iloc用法總結(jié)
loc是location的意思,和iloc中i的意思是指integer,所以它只接受整數(shù)作為參數(shù),下面這篇文章主要給大家介紹了關(guān)于利用Pandas讀取某列某行數(shù)據(jù)之loc和iloc用法的相關(guān)資料,需要的朋友可以參考下2022-03-03
教你用python提取txt文件中的特定信息并寫入Excel
這篇文章主要給大家介紹了如何利用python提取txt文件中的特定信息并寫入Excel的相關(guān)資料,Python是一個(gè)強(qiáng)大的語(yǔ)言,解決這點(diǎn)問(wèn)題非常簡(jiǎn)單,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-11-11
Python代碼實(shí)現(xiàn)一個(gè)AI多站點(diǎn)搜索神器
在人工智能快速發(fā)展的今天,我們經(jīng)常需要在多個(gè)AI平臺(tái)上嘗試同一個(gè)提示詞,每次復(fù)制粘貼真的很麻煩,所以本文就來(lái)使用Python打造一個(gè)AI多站點(diǎn)搜索神器吧2025-03-03

