python實(shí)現(xiàn)學(xué)生成績測評系統(tǒng)
本文實(shí)例為大家分享了python實(shí)現(xiàn)學(xué)生成績測評系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
1、問題描述(功能要求):
根據(jù)實(shí)驗(yàn)指導(dǎo)書要求,完成相關(guān)軟件系統(tǒng)的設(shè)計(jì),要求內(nèi)容翔實(shí),條理清晰,圖文并茂(流程圖),主要(關(guān)鍵代碼)須有詳細(xì)注釋,寫清楚測試結(jié)果,分析存在的問題:
1)通過類的知識實(shí)現(xiàn)學(xué)生成績信息(學(xué)號、姓名、院系、三門課成績、考試平均成績、同學(xué)互評分、任課教師評分、綜合測評總分,其中綜合測評總分由:考試平均成績70%,同學(xué)互評分10%,任課教師評分20%,);
2)能夠?qū)崿F(xiàn)學(xué)生成績信息的保存和讀?。ㄈ绻褂脭?shù)據(jù)庫存取信息可加分);
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)使用說明書。
繼python汽車系統(tǒng)我接著比葫蘆照瓢搞了一個(gè)學(xué)生信息管理系統(tǒng):
具體實(shí)現(xiàn)就簡單點(diǎn)說:
首先我創(chuàng)建一個(gè)全局變量存學(xué)生的所有信息
添加時(shí)我先把每次的信息添加進(jìn)一個(gè)列表然后再把這個(gè)列表添加進(jìn)全局變量的列表里面
刪除就是遍歷列表然后查詢學(xué)號對應(yīng)如果相同就調(diào)用del函數(shù)進(jìn)行整行刪除即可
修改和刪除操作差別不大一個(gè)是del一個(gè)是直接等于要修改的地方
顯示就是遍歷該列表輸出即可
保存數(shù)據(jù)就是open(“文件目錄”, 'r")存取不覆蓋存取
具體實(shí)現(xiàn)就說這么多運(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("請輸入學(xué)生姓名:") student_id = input("請輸入學(xué)生學(xué)號:") student_xingbie = input("請輸入學(xué)生性別:") student_age = input("請輸入學(xué)生年齡:") student_pione = input("請輸入學(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("請輸入要?jiǎng)h除的學(xué)生學(xué)號:") 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("請輸入你要更改的學(xué)生學(xué)號:") for student in students: if student[1] == updata_student_id: flag = input("選擇你要更改的學(xué)生信息:1.姓名,2.學(xué)號,3.性別,4.年齡,5.電話:") if flag == 1: name = input("請輸入你要換成的名字:") student[0] = name elif flag == 2: student_id = input("請輸入你要換成的學(xué)號:") student[1] = student_id elif flag == 3: student_xinbie = input("請輸入你要換成的性別:") student[2] = student_xinbie elif flag == 4: student_age = input("請輸入你要換成的年齡:") student[3] = student_age elif flag == 5: student_pione = input("請輸入你要換成的電話:") student[4] = student_pione else : pass n = input("是否繼續(xù)添加?y or n:") if n == "n": break def show_student(): print(" 學(xué)生信息") print("姓名 學(xué)號 性別 年齡 電話") 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("請輸入你要執(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í)資料請關(guān)注專題《管理系統(tǒng)開發(fā)》。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python tkinter實(shí)現(xiàn)界面切換的示例代碼
今天小編就為大家分享一篇python tkinter實(shí)現(xiàn)界面切換的示例代碼,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06python 按照sheet合并多個(gè)Excel的示例代碼(多個(gè)sheet)
這篇文章主要介紹了python 按照sheet合并多個(gè)Excel的示例代碼(多個(gè)sheet),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09使用ChatGPT進(jìn)行Abaqus二次開發(fā)詳解
這篇文章主要為大家介紹了使用ChatGPT進(jìn)行Abaqus二次開發(fā)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03詳解Python中RegEx在數(shù)據(jù)處理中的應(yīng)用
正則表達(dá)式(Regular?Expressions,簡稱?RegEx)是一種強(qiáng)大的文本匹配和搜索工具,它在數(shù)據(jù)處理、文本解析和字符串操作中發(fā)揮著關(guān)鍵作用,下面就跟隨小編一起來了解一下RegEx的具體使用吧2024-01-01Django unittest 設(shè)置跳過某些case的方法
今天小編就為大家分享一篇Django unittest 設(shè)置跳過某些case的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12Python?reversed函數(shù)用法小結(jié)
reversed函數(shù)是Python中的內(nèi)置函數(shù)之一,是對給定的序列返回一個(gè)逆序序列的迭代器,需要通過遍歷/list/next()等方法獲取作用后的值,本文給大家介紹Python?reversed函數(shù)及用法,感興趣的朋友一起看看吧2023-10-10Python應(yīng)用之利用pyecharts畫中國地圖
這篇文章主要介紹了Python應(yīng)用之利用pyecharts畫中國地圖,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07Scrapy+Selenium自動(dòng)獲取cookie爬取網(wǎng)易云音樂個(gè)人喜愛歌單
這篇文章主要介紹了Scrapy+Selenium自動(dòng)獲取cookie爬取網(wǎng)易云音樂個(gè)人喜愛歌單,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02