python实现学生成绩测评系统
本文实例为大家分享了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()
更多学习资料请关注专题《管理系统开发》。
以上就是本文的全部内容,希望对大家的学习有所帮助。
- 物化视图刷新结合ADG的尝试(二)(r8笔记第57天)
- python 下利用os模块创建目录以及巧妙使用if not os.path.exits()创建
- Python读取json文件,并转化为字典进行提取字段(出现索引must be int,not str)解决方案
- Python 把字典的key和value的值取出来,按照顺序存入到list中
- Go语言 如果实现http重连?
- python strip()函数 删除字符串中无空白字符或者是无用字符
- 闪回归档的简单测试(r8笔记第68天)
- sql语句查询到整个数据库的容量
- 神奇的go语言
- 备库查询导致的ORA-01110错误及修复(r8笔记第67天)
- SQL客户端DBvisualize直接导入数据出现中文乱码
- Python基础整理操作积累
- 让AI给颜值打分?应该是最公正的裁判了!
- orion的简单测试 (r8笔记第75天)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 2万字,实战 Docker 部署:完整的前后端,主从热备高可用服务!!
- http & request & response的学习
- JavaScript 错误处理大全【建议收藏】
- Java8 用 Stream 快速实现List转Map 、分组、过滤等操作
- swoole框架异常处理
- 使用composer本地开发项目
- GDAL数据集写入空间坐标参考
- html & CSS & JavaScript的学习
- 打卡群刷题总结0824——电话号码的字母组合
- 打卡群刷题总结0825——括号生成
- Ajax与Json的学习
- pytest文档48-切换环境(pytest-base-url)
- 打卡群刷题总结0826——组合总和
- 排序之简单排序
- 打卡群刷题总结0827——组合总和 II