python實現(xiàn)學(xué)生成績測評系統(tǒng)
本文實例為大家分享了python實現(xiàn)學(xué)生成績測評系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
1、問題描述(功能要求):
根據(jù)實驗指導(dǎo)書要求,完成相關(guān)軟件系統(tǒng)的設(shè)計,要求內(nèi)容翔實,條理清晰,圖文并茂(流程圖),主要(關(guān)鍵代碼)須有詳細(xì)注釋,寫清楚測試結(jié)果,分析存在的問題:
1)通過類的知識實現(xiàn)學(xué)生成績信息(學(xué)號、姓名、院系、三門課成績、考試平均成績、同學(xué)互評分、任課教師評分、綜合測評總分,其中綜合測評總分由:考試平均成績70%,同學(xué)互評分10%,任課教師評分20%,);
2)能夠?qū)崿F(xiàn)學(xué)生成績信息的保存和讀?。ㄈ绻褂脭?shù)據(jù)庫存取信息可加分);
3)實現(xiàn)所有相關(guān)信息的輸入、輸出、查找、刪除、修改等功能;
4)系統(tǒng)界面應(yīng)至少實現(xiàn)控制臺界面(另外使用桌面窗體界面可加分):
2、問題的解決方案:
根據(jù)系統(tǒng)功能要求,可以將問題解決分為以下步驟:
(1)分析系統(tǒng)中的相關(guān)功能和信息的關(guān)系;
(2)根據(jù)問題描述,設(shè)計數(shù)據(jù)訪問流程和訪問界面(控制臺界面);
(3)完成類中各個成員函數(shù)的定義;
(4)功能調(diào)試;
(5)完成系統(tǒng)總結(jié)報告以及系統(tǒng)使用說明書。
繼python汽車系統(tǒng)我接著比葫蘆照瓢搞了一個學(xué)生信息管理系統(tǒng):
具體實現(xiàn)就簡單點(diǎn)說:
首先我創(chuàng)建一個全局變量存學(xué)生的所有信息
添加時我先把每次的信息添加進(jìn)一個列表然后再把這個列表添加進(jìn)全局變量的列表里面
刪除就是遍歷列表然后查詢學(xué)號對應(yīng)如果相同就調(diào)用del函數(shù)進(jìn)行整行刪除即可
修改和刪除操作差別不大一個是del一個是直接等于要修改的地方
顯示就是遍歷該列表輸出即可
保存數(shù)據(jù)就是open(“文件目錄”, 'r")存取不覆蓋存取
具體實現(xiàn)就說這么多運(yùn)行案例就不一一運(yùn)行了實踐證明是可以的
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("請輸入要刪除的學(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實現(xiàn)界面切換的示例代碼
今天小編就為大家分享一篇python tkinter實現(xiàn)界面切換的示例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06
python 按照sheet合并多個Excel的示例代碼(多個sheet)
這篇文章主要介紹了python 按照sheet合并多個Excel的示例代碼(多個sheet),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下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-01
Django unittest 設(shè)置跳過某些case的方法
今天小編就為大家分享一篇Django unittest 設(shè)置跳過某些case的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12
Python?reversed函數(shù)用法小結(jié)
reversed函數(shù)是Python中的內(nèi)置函數(shù)之一,是對給定的序列返回一個逆序序列的迭代器,需要通過遍歷/list/next()等方法獲取作用后的值,本文給大家介紹Python?reversed函數(shù)及用法,感興趣的朋友一起看看吧2023-10-10
Python應(yīng)用之利用pyecharts畫中國地圖
這篇文章主要介紹了Python應(yīng)用之利用pyecharts畫中國地圖,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07
Scrapy+Selenium自動獲取cookie爬取網(wǎng)易云音樂個人喜愛歌單
這篇文章主要介紹了Scrapy+Selenium自動獲取cookie爬取網(wǎng)易云音樂個人喜愛歌單,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02

