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

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

