python实现学生成绩测评系统
作者:-lyslyslys 发布时间:2023-08-09 19:40:56
本文实例为大家分享了python实现学生成绩测评系统的具体代码,供大家参考,具体内容如下
1、问题描述(功能要求):
根据实验指导书要求,完成相关软件系统的设计,要求内容翔实,条理清晰,图文并茂(流程图),主要(关键代码)须有详细注释,写清楚测试结果,分析存在的问题:
1)通过类的知识实现学生成绩信息(学号、姓名、院系、三门课成绩、考试平均成绩、同学互评分、任课教师评分、综合测评总分,其中综合测评总分由:考试平均成绩70%,同学互评分10%,任课教师评分20%,);
2)能够实现学生成绩信息的保存和读取(如果使用数据库存取信息可加分);
3)实现所有相关信息的输入、输出、查找、删除、修改等功能;
4)系统界面应至少实现控制台界面(另外使用桌面窗体界面可加分):
2、问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤:
(1)分析系统中的相关功能和信息的关系;
(2)根据问题描述,设计数据访问流程和访问界面(控制台界面);
(3)完成类中各个成员函数的定义;
(4)功能调试;
(5)完成系统总结报告以及系统使用说明书。
继python汽车系统我接着比葫芦照瓢搞了一个学生信息管理系统:
具体实现就简单点说:
首先我创建一个全局变量存学生的所有信息
添加时我先把每次的信息添加进一个列表然后再把这个列表添加进全局变量的列表里面
删除就是遍历列表然后查询学号对应如果相同就调用del函数进行整行删除即可
修改和删除操作差别不大一个是del一个是直接等于要修改的地方
显示就是遍历该列表输出即可
保存数据就是open(“文件目录”, 'r")存取不覆盖存取
具体实现就说这么多运行案例就不一一运行了实践证明是可以的
import os
def printwindows():
print('='*30)
print('学生信息管理系统V1.0')
print('1.添加学生信息')
print('2.删除学生信息')
print('3.修改学生信息')
print('4.显示所有学生信息')
print('5.保存数据')
print('0.退出系统')
print('='*30)
students = []
def add_student():
while 1:
os.system("cls")
student = []
student_name = input("请输入学生姓名:")
student_id = input("请输入学生学号:")
student_xingbie = input("请输入学生性别:")
student_age = input("请输入学生年龄:")
student_pione = input("请输入学生电话:")
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("是否继续添加?y or n:")
if n == "n":
break
def del_student():
while 1:
del_student_id = input("请输入要删除的学生学号:")
for student in students:
if student[1] == del_student_id:
del student
print("删除成功!")
break
n = input("是否继续添加?y or n:")
if n == "n":
break
def updata_student():
while 1:
updata_student_id = input("请输入你要更改的学生学号:")
for student in students:
if student[1] == updata_student_id:
flag = input("选择你要更改的学生信息:1.姓名,2.学号,3.性别,4.年龄,5.电话:")
if flag == 1:
name = input("请输入你要换成的名字:")
student[0] = name
elif flag == 2:
student_id = input("请输入你要换成的学号:")
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("是否继续添加?y or n:")
if n == "n":
break
def show_student():
print(" 学生信息")
print("姓名 学号 性别 年龄 电话")
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("请输入你要执行的代码:")
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()
更多学习资料请关注专题《管理系统开发》。
来源:https://blog.csdn.net/qq_43568078/article/details/106874694
猜你喜欢
- IFRAME 元素 | iframe 对象创建内嵌浮动框架。成员表下面的表格列出了 iframe 对象引出的成员。请单击左侧的标签来选择你想
- (一)原理 小偷程序实际上是通过了XML中的XMLHTTP组件调用其它网站上的网页。比如新闻小偷程序,
- 大家都用过企业管理器中的--“收缩数据库”,里面的功能的确可以收缩数据库的日志文件(.ldf)和数据文件(.mdf),但都会发现同样的问题,
- 当我们使用访问一个没有声明的变量时,JS会报错;而当我们给一个没有声明的变量赋值时,JS不会报错误,相反它会认为我们是要隐式申明一个全局变量
- 今天工作中遇到,拿出来说说。网上CSS下拉菜单不少,不过都存在这样那样的问题,主要问题是,如果你菜单下面有一个FLASH的话,很多都会被FL
- 如何干预执行计划 - - 使用hints提示基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担。但有时它也
- xmlhttp,IE不支持overrideMimeType()方法,即使是IE7。 // Mozilla/Safari/
- 而Easp类中提供了大量实用的ASP通用过程及方法,可以简化大部分的ASP操作。目前只提供了VBScript版,JScript版将来可能会提
- SWFObject的使用是非常简单的,只需要包含 swfobject.js这个js文件,然后在DOM中插入一些简单的JS代码,就能嵌入Fla
- 在 MySQL 下,在进行中文模糊检索时,经常会返回一些与之不相关的记录,如查找 "%a%" 时,返回的可能有中文字符,
- 代码如下:Class template Private c_Char, c_Path, c
- 大家都知道,数据库的安全性是很重要的,它直接影响到数据库的广泛应用。用户可以采用任意一种方法来保护数据库应用程序,也可以将几种方法结合起来使
- 这是一条颠覆常规的插入方法,一条INSERT语句可以完成向多张表的插入任务。小小地展示一下这种插入方法。1.创建表T并初始化测试数据,此表作
- 1、chr(i)chr()函数返回ASCII码对应的字符串。>>> print chr(65)A>>>
- 最近做项目的时候遇到过oracle数据库导入导出,在这里我做下记录,防止自己忘记了,有什么不对或者不足的地方,欢迎广大博友拍砖,哈哈~导出命
- 先看看:css中class与id的区别及应用表单的name与id其实是同一个意思,都是为了标记对象名称。它们所不同的是:name是Netsc
- 使用xmlhttp中的getResponseHeader 从响应信息中获取指定的http头strValue = oXML
- 1、卓越亚马逊的首页轮换图片,每刷新一次,都是随机不同的顺序显示,这样的设计解决了对于较多图片轮换而靠后的图片信息很少被看到的问题,这点对于
- 用户界面和用户体验(UI/UX)是任何产品成败的关键,尤其 Web,Web 是一种公开的,可以被任何人随时随地访问的特殊产品,用户的体验几乎
- 要开发一个基于数据库的应用系统,其中最关键的一步就是整个系统所依据的数据库的建模设计,从逻辑的到物理的,一个环节疏于设计,整个的应用系统便似