python實(shí)現(xiàn)學(xué)生成績(jī)測(cè)評(píng)系統(tǒng)
本文實(shí)例為大家分享了python實(shí)現(xiàn)學(xué)生成績(jī)測(cè)評(píng)系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
1、問題描述(功能要求):
根據(jù)實(shí)驗(yàn)指導(dǎo)書要求,完成相關(guān)軟件系統(tǒng)的設(shè)計(jì),要求內(nèi)容翔實(shí),條理清晰,圖文并茂(流程圖),主要(關(guān)鍵代碼)須有詳細(xì)注釋,寫清楚測(cè)試結(jié)果,分析存在的問題:
1)通過類的知識(shí)實(shí)現(xiàn)學(xué)生成績(jī)信息(學(xué)號(hào)、姓名、院系、三門課成績(jī)、考試平均成績(jī)、同學(xué)互評(píng)分、任課教師評(píng)分、綜合測(cè)評(píng)總分,其中綜合測(cè)評(píng)總分由:考試平均成績(jī)70%,同學(xué)互評(píng)分10%,任課教師評(píng)分20%,);
2)能夠?qū)崿F(xiàn)學(xué)生成績(jī)信息的保存和讀?。ㄈ绻褂脭?shù)據(jù)庫(kù)存取信息可加分);
3)實(shí)現(xiàn)所有相關(guān)信息的輸入、輸出、查找、刪除、修改等功能;
4)系統(tǒng)界面應(yīng)至少實(shí)現(xiàn)控制臺(tái)界面(另外使用桌面窗體界面可加分):
2、問題的解決方案:
根據(jù)系統(tǒng)功能要求,可以將問題解決分為以下步驟:
(1)分析系統(tǒng)中的相關(guān)功能和信息的關(guān)系;
(2)根據(jù)問題描述,設(shè)計(jì)數(shù)據(jù)訪問流程和訪問界面(控制臺(tái)界面);
(3)完成類中各個(gè)成員函數(shù)的定義;
(4)功能調(diào)試;
(5)完成系統(tǒng)總結(jié)報(bào)告以及系統(tǒng)使用說(shuō)明書。
繼python汽車系統(tǒng)我接著比葫蘆照瓢搞了一個(gè)學(xué)生信息管理系統(tǒng):
具體實(shí)現(xiàn)就簡(jiǎn)單點(diǎn)說(shuō):
首先我創(chuàng)建一個(gè)全局變量存學(xué)生的所有信息
添加時(shí)我先把每次的信息添加進(jìn)一個(gè)列表然后再把這個(gè)列表添加進(jìn)全局變量的列表里面
刪除就是遍歷列表然后查詢學(xué)號(hào)對(duì)應(yīng)如果相同就調(diào)用del函數(shù)進(jìn)行整行刪除即可
修改和刪除操作差別不大一個(gè)是del一個(gè)是直接等于要修改的地方
顯示就是遍歷該列表輸出即可
保存數(shù)據(jù)就是open(“文件目錄”, 'r")存取不覆蓋存取
具體實(shí)現(xiàn)就說(shuō)這么多運(yùn)行案例就不一一運(yùn)行了實(shí)踐證明是可以的
import os
def printwindows():
print('='*30)
print('學(xué)生信息管理系統(tǒng)V1.0')
print('1.添加學(xué)生信息')
print('2.刪除學(xué)生信息')
print('3.修改學(xué)生信息')
print('4.顯示所有學(xué)生信息')
print('5.保存數(shù)據(jù)')
print('0.退出系統(tǒng)')
print('='*30)
students = []
def add_student():
while 1:
os.system("cls")
student = []
student_name = input("請(qǐng)輸入學(xué)生姓名:")
student_id = input("請(qǐng)輸入學(xué)生學(xué)號(hào):")
student_xingbie = input("請(qǐng)輸入學(xué)生性別:")
student_age = input("請(qǐng)輸入學(xué)生年齡:")
student_pione = input("請(qǐng)輸入學(xué)生電話:")
student.append(student_name)
student.append(student_id)
student.append(student_xingbie)
student.append(student_age)
student.append(student_pione)
students.append(student)
n = input("是否繼續(xù)添加?y or n:")
if n == "n":
break
def del_student():
while 1:
del_student_id = input("請(qǐng)輸入要?jiǎng)h除的學(xué)生學(xué)號(hào):")
for student in students:
if student[1] == del_student_id:
del student
print("刪除成功!")
break
n = input("是否繼續(xù)添加?y or n:")
if n == "n":
break
def updata_student():
while 1:
updata_student_id = input("請(qǐng)輸入你要更改的學(xué)生學(xué)號(hào):")
for student in students:
if student[1] == updata_student_id:
flag = input("選擇你要更改的學(xué)生信息:1.姓名,2.學(xué)號(hào),3.性別,4.年齡,5.電話:")
if flag == 1:
name = input("請(qǐng)輸入你要換成的名字:")
student[0] = name
elif flag == 2:
student_id = input("請(qǐng)輸入你要換成的學(xué)號(hào):")
student[1] = student_id
elif flag == 3:
student_xinbie = input("請(qǐng)輸入你要換成的性別:")
student[2] = student_xinbie
elif flag == 4:
student_age = input("請(qǐng)輸入你要換成的年齡:")
student[3] = student_age
elif flag == 5:
student_pione = input("請(qǐng)輸入你要換成的電話:")
student[4] = student_pione
else :
pass
n = input("是否繼續(xù)添加?y or n:")
if n == "n":
break
def show_student():
print(" 學(xué)生信息")
print("姓名 學(xué)號(hào) 性別 年齡 電話")
for student in students:
print(student[0] + " " + student[1] + " " + student[2] + " " + student[3] + " " + student[4])
os.system("pause")
def read_in_file():
with open("student_data.txt", 'a') as f:
for student in students:
f.write(student[0] + " " + student[1] + " " + student[2] + " " + student[3] + " " + student[4] + '\n')
print("保存成功!")
def main():
while(1):
os.system("cls")
printwindows()
print("請(qǐng)輸入你要執(zhí)行的代碼:")
n = int(input())
if n == 1:
add_student()
elif n == 2:
del_student()
elif n == 3:
updata_student()
elif n == 4:
show_student()
elif n == 5:
read_in_file()
else:
break
if __name__ == '__main__':
main()
更多學(xué)習(xí)資料請(qǐng)關(guān)注專題《管理系統(tǒng)開發(fā)》。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python游戲?qū)崙?zhàn)項(xiàng)目之智能五子棋
下五子棋嗎?信不信我讓你幾步你也贏不了?本篇為你帶來(lái)用python編寫的五子棋小游戲,文中給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值2021-09-09
實(shí)例詳解Python中的numpy.abs和abs函數(shù)
Numpy是python中最有用的工具之一,它可以有效地處理大容量數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Python中numpy.abs和abs函數(shù)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08
在 Django/Flask 開發(fā)服務(wù)器上使用 HTTPS
使用 Django 或 Flask 這種框架開發(fā) web app 的時(shí)候一般都會(huì)用內(nèi)建服務(wù)器開發(fā)和調(diào)試程序,等程序完成后再移交到生產(chǎn)環(huán)境部署。問題是這些內(nèi)建服務(wù)器通常都不支持 HTTPS,那么我們來(lái)探討下開啟https吧2014-07-07
python 實(shí)現(xiàn)定時(shí)任務(wù)的四種方式
這篇文章主要介紹了python 實(shí)現(xiàn)定時(shí)任務(wù)的四種方式,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-04-04
python3+PyQt5重新實(shí)現(xiàn)QT事件處理程序
python+selenium?實(shí)現(xiàn)掃碼免密登錄示例代碼

