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


猜你喜欢
- 引用Nmap库实现扫描功能,本节课比较简单一看就会。编写环境:Python2.x编写:首先安装Nmap程序,并添加环境变量pip insta
- 要编写一个简单的能发布网页的 Python 应用服务器,可以使用 Python 自带的 http.server 模块来实现。http.ser
- /* 判断指定的内容是否为空,若为空则弹出 警告框 */ function isEmpty(theValue, strMsg){ if(th
- 可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2008/11/03/python-m
- 这篇文章中我们将通过对HelloWorld的message进行操作,介绍一下如何使用flask进行Restful的CRUD。概要信息事前准备
- 一、ZeroClipboard下载地址为大家提供细一些ZeroClipboard的下载地址:Zero Clipboard 开源的 JavaS
- 需求:查询表dbo.Message,每页10条,查询第2页1:TOP()SELECT TOP(20) * FROM dbo.Message
- 在练习列表的操作的时候我发现赋值之后的列表会随着被赋值的列表改变而改变,就像是C语言中用指向同一实际变量的指针进行操作一样。这是因为Pyth
- Django 为未来的开发人员提供了许多功能:一个成熟的标准库,一个活跃的用户社区,以及 Python 语言的所有好处。虽然其他
- 最近在做FLY量化交易系统的维护,总有客户说策略执行好慢,结果有些人展示策略一看,每个语句后边都要打印下数据。哪些数据都是辅助用的,打印出来
- 我是这样来做DIV布局代码的.不知道说的清楚不清楚,凑和看吧我把class分为2种,布局class,风格class,布局class是骨架,风
- 一. torch.cat()函数解析1. 函数说明1.1 官网:torch.cat(),函数定义及参数说明如下图所示:1.2 函数功能函数将
- 判断类型在Python中我们可以使用type进行类型的判断#我们想看一个对象的的类型可以这样class A: passa = A
- 本文实例讲述了Python操作mongodb数据库的方法。分享给大家供大家参考,具体如下:安装pymongo下载pymongo:https:
- 文件的io操作的缓冲行为分为全缓冲:同系统及磁盘块大小有关,n个字节后执行一次写入操作行缓冲:遇到换行符执行一次写操作无缓冲:立刻执行写操作
- 今天终于抽出时间瞟了一眼JavaScript的新标准ECMA262v5,让我欣喜的是,不像是因为过于激进而被废除的v4,这个新标准对Java
- 分区视图联接来自一组成员的水平分区数据,使数据看起来象来自同一张表。SQL Server 2000 区分本地分区视图和分布式分区视图。在本地
- 直接上代码import pygameimport randomdef main(): # 初始化pygame &n
- Python 中迭代器与生成器实例详解本文通过针对不同应用场景及其解决方案的方式,总结了Python中迭代器与生成器的一些相关知识,具体如下
- 前言数据库生成环境中经常会遇到表中有重复的数据,或者进行关联过程中产生重复数据,下面介绍三种剔除重复数据的方法,请针对自己的应用场景选择使用