基于Python實現(xiàn)一個簡單的學(xué)生管理系統(tǒng)
序言
小學(xué)妹說要畢業(yè)了,學(xué)了一學(xué)期Python等于沒學(xué),現(xiàn)在要做畢設(shè)做不出來,讓我?guī)蛶退?,晚上去她家吃夜宵?/p>
當(dāng)時我心想,這不是分分鐘的事情,還要去她家,男孩子晚上不要隨便出門,要學(xué)會保護(hù)好自己,于是我花了十分鐘給她寫了一個發(fā)過去,這下不用去她家了~
代碼實戰(zhàn)
# 學(xué)生信息放在字典里面
student_info = [
{'姓名': '婧琪', '語文': 60, '數(shù)學(xué)': 60, '英語': 60, '總分': 180},
{'姓名': '巳月', '語文': 60, '數(shù)學(xué)': 60, '英語': 60, '總分': 180},
{'姓名': '落落', '語文': 60, '數(shù)學(xué)': 60, '英語': 60, '總分': 180},
]
# 死循環(huán) while True 當(dāng)一直為真
# 源碼自取君羊:708525271
while True:
# 輸出
print(msg)
# 輸入選項
num = input('請輸入你想要進(jìn)行操作: ')
# 進(jìn)行判斷, 判斷輸入內(nèi)容是什么, 然后返回相應(yīng)結(jié)果
"""
if .... elif... 多條件判斷語句
"""
if num == '1':
# 新建學(xué)生信息, 輸入內(nèi)容 input 輸入的內(nèi)容, 返回字符串?dāng)?shù)據(jù)類型
name = input('請輸入學(xué)生姓名: ')
chinese = int(input('請輸入語文成績: '))
math = int(input('請輸入數(shù)學(xué)成績: '))
english = int(input('請輸入英語成績: '))
# 字符串與字符串相加: 字符串拼接 int 整數(shù)數(shù)據(jù)類型
score = chinese + math + english # 總分
# 把信息內(nèi)容, 放入字典里面
student_dit = {
'姓名': name,
'語文': chinese,
'數(shù)學(xué)': math,
'英語': english,
'總分': score,
}
# 把學(xué)生信息 添加到列表里面
student_info.append(student_dit)
elif num == '2':
# for循環(huán)遍歷, 把列表里元素 一個一個提取出來 \t
print('姓名\t\t語文\t\t數(shù)學(xué)\t\t英語\t\t總分')
for student in student_info:
# student 字典數(shù)據(jù)類型, 根據(jù)鍵值對, 提取相關(guān)內(nèi)容
print(
student['姓名'], '\t\t',
student['語文'], '\t\t',
student['數(shù)學(xué)'], '\t\t',
student['英語'], '\t\t',
student['總分'],
)
elif num == '3':
name = input('請輸入查詢學(xué)生姓名: ')
# 遍歷 for else 用法
for student in student_info:
# 判斷 查詢名字和學(xué)生名字 是否一致
if name == student['姓名']:
print('姓名\t\t語文\t\t數(shù)學(xué)\t\t英語\t\t總分')
print(
student['姓名'], '\t\t',
student['語文'], '\t\t',
student['數(shù)學(xué)'], '\t\t',
student['英語'], '\t\t',
student['總分'],
)
# 跳出本次循環(huán) continue 繼續(xù)循環(huán)下面的代碼
break
else:
# 字符串格式化方法 format
print('查無此人, 沒有{}學(xué)生信息!'.format(name))
elif num == '4':
name = input('請輸入刪除學(xué)生姓名: ')
# 把每一個學(xué)生的信息, 一個一個提取出來
for student in student_info:
# 判斷, 輸入的學(xué)生姓名 是否在學(xué)生信息庫里面
if name == student['姓名']:
# 打印成績, 查看學(xué)生情況
print('姓名\t\t語文\t\t數(shù)學(xué)\t\t英語\t\t總分')
print(
student['姓名'], '\t\t',
student['語文'], '\t\t',
student['數(shù)學(xué)'], '\t\t',
student['英語'], '\t\t',
student['總分'],
)
# 輸入是否要真的刪除學(xué)生信息 <防止>
choose = input(f'是否確定要刪除{name}信息(y/n)')
# or 或者的意思
if choose == 'y' or choose == 'Y':
# 刪除信息 移除列表里面元素 remove()
student_info.remove(student)
print(f'{name}信息已經(jīng)被刪除!')
break
elif choose == 'n' or choose == 'N':
# 跳出循環(huán)
break
else:
print('查無此人, 沒有{}學(xué)生信息!'.format(name))
elif num == '5':
print('修改學(xué)生信息')
name = input('請輸入刪除學(xué)生姓名: ')
# 把每一個學(xué)生的信息, 一個一個提取出來
for student in student_info:
# 判斷, 輸入的學(xué)生姓名 是否在學(xué)生信息庫里面
if name == student['姓名']:
# 打印成績, 查看學(xué)生情況
print('姓名\t\t語文\t\t數(shù)學(xué)\t\t英語\t\t總分')
print(
student['姓名'], '\t\t',
student['語文'], '\t\t',
student['數(shù)學(xué)'], '\t\t',
student['英語'], '\t\t',
student['總分'],
)
# 輸入是否要真的刪除學(xué)生信息 <防止>
choose = input(f'是否要修改{name}信息(y/n)')
# or 或者的意思
if choose == 'y' or choose == 'Y':
# 修改操作 和 新建學(xué)生信息 有點(diǎn)類似
name = input('請輸入學(xué)生姓名: ')
chinese = int(input('請輸入語文成績: '))
math = int(input('請輸入數(shù)學(xué)成績: '))
english = int(input('請輸入英語成績: '))
# 字符串與字符串相加: 字符串拼接 int 整數(shù)數(shù)據(jù)類型
score = chinese + math + english # 總分
# 修改, 做替換 字典修改值
student['姓名'] = name
student['語文'] = chinese
student['數(shù)學(xué)'] = math
student['英語'] = english
student['總分'] = score
print(f'{name}信息已經(jīng)修改了!')
break
elif choose == 'n' or choose == 'N':
# 跳出循環(huán)
break
else:
print('查無此人, 沒有{}學(xué)生信息!'.format(name))
效果展示

到此這篇關(guān)于基于Python實現(xiàn)一個簡單的學(xué)生管理系統(tǒng)的文章就介紹到這了,更多相關(guān)Python學(xué)生管理系統(tǒng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PyTorch的Optimizer訓(xùn)練工具的實現(xiàn)
這篇文章主要介紹了PyTorch的Optimizer訓(xùn)練工具的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
Python虛擬機(jī)之super超級魔法的使用和工作原理詳解
在本篇文章中,我們將深入探討Python中的super類的使用和內(nèi)部工作原理,super類作為Python虛擬機(jī)中強(qiáng)大的功能之一,super 可以說是 Python 對象系統(tǒng)基石,他可以幫助我們更靈活地使用繼承和方法調(diào)用,需要的朋友可以參考下2023-10-10
詳解如何使用Python實現(xiàn)復(fù)制粘貼的功能
pandas?里面有一個?pd.read_clipboard?函數(shù),可以根據(jù)你復(fù)制的內(nèi)容生成DataFrame。本文就利用這個函數(shù)實現(xiàn)復(fù)制粘貼的功能,感興趣的可以了解一下2023-01-01
Python實現(xiàn)基本線性數(shù)據(jù)結(jié)構(gòu)
這篇文章主要實現(xiàn)四種數(shù)據(jù)結(jié)構(gòu),分別是數(shù)組、堆棧、隊列、鏈表。大家都知道可以用C語言實現(xiàn)這幾種數(shù)據(jù)結(jié)構(gòu),其實Python也可以實現(xiàn),下面跟著小編一起來學(xué)習(xí)。2016-08-08
Python異常信息的不同展現(xiàn)方法總結(jié)
在日常開發(fā)的過程中,當(dāng)代碼報錯時,我們通常要不斷打印、閱讀traceback提示信息,來調(diào)試代碼,這篇文章介紹了如何實現(xiàn)一個Exception?Hooks,使得traceback模塊的提示信息更加精確;同時還介紹了一些第三方庫,這些庫也提供了Exception?Hooks的功能2022-11-11
Python loguru日志庫之高效輸出控制臺日志和日志記錄
這篇文章主要介紹了python loguru日志庫之高效輸出控制臺日志和日志記錄的相關(guān)知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03
關(guān)于PyTorch環(huán)境配置及安裝教程(Windows10)
這篇文章主要介紹了關(guān)于PyTorch環(huán)境配置及安裝教程(Windows10),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07

