python实现学生成绩测评系统


Posted in Python onJune 22, 2020

本文实例为大家分享了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()

更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的一些用法分享
Oct 07 Python
一个简单的python程序实例(通讯录)
Nov 29 Python
跟老齐学Python之关于类的初步认识
Oct 11 Python
Python实现的多线程端口扫描工具分享
Jan 21 Python
详细讲解用Python发送SMTP邮件的教程
Apr 29 Python
Python如何实现守护进程的方法示例
Feb 08 Python
Python3中bytes类型转换为str类型
Sep 27 Python
Pycharm远程调试原理及具体配置详解
Aug 08 Python
python psutil监控进程实例
Dec 17 Python
Python递归求出列表(包括列表中的子列表)的最大值实例
Feb 27 Python
如何基于python把文字图片写入word文档
Jul 31 Python
Python使用pandas导入xlsx格式的excel文件内容操作代码
Dec 24 Python
python算的上脚本语言吗
Jun 22 #Python
Python读取二进制文件代码方法解析
Jun 22 #Python
怎么快速自学python
Jun 22 #Python
关于python的缩进规则的知识点详解
Jun 22 #Python
python可以用哪些数据库
Jun 22 #Python
Python ckeditor富文本编辑器代码实例解析
Jun 22 #Python
keras做CNN的训练误差loss的下降操作
Jun 22 #Python
You might like
javascript 触发事件列表 比较不错
2009/09/03 Javascript
JavaScript 对象模型 执行模型
2010/10/15 Javascript
JavaScript 实现简单的倒计时弹窗DEMO附图
2014/03/05 Javascript
一个非常全面的javascript URL解析函数和分段URL解析方法
2014/04/12 Javascript
Bootstrap每天必学之表单
2015/11/23 Javascript
JS组件中bootstrap multiselect两大组件较量
2016/01/26 Javascript
JavaScript小技巧整理篇(非常全)
2016/01/26 Javascript
NodeJS基础API搭建服务器详细过程记录
2017/04/01 NodeJs
vue-cli3.0 环境变量与模式配置方法
2018/11/08 Javascript
浅谈js闭包理解
2019/03/28 Javascript
Vue2.x通用编辑组件的封装及应用详解
2019/05/28 Javascript
浅谈vue 组件中的setInterval方法和window的不同
2020/07/30 Javascript
Vue 解决在element中使用$notify在提示信息中换行问题
2020/11/11 Javascript
详解JavaScript中的this指向问题
2021/02/05 Javascript
[03:52]显微镜下的DOTA2第三期——英雄在无聊的时候干什么
2014/06/20 DOTA
使用基于Python的Tornado框架的HTTP客户端的教程
2015/04/24 Python
Python编程中的文件操作攻略
2015/10/16 Python
Python图形绘制操作之正弦曲线实现方法分析
2017/12/25 Python
在PyCharm中实现关闭一个死循环程序的方法
2018/11/29 Python
Django实现发送邮件功能
2019/07/18 Python
Python ini文件常用操作方法解析
2020/04/26 Python
Django 用户认证Auth组件的使用
2020/11/30 Python
在Python中实现字典反转案例
2020/12/05 Python
html2canvas截图空白问题的解决
2020/03/24 HTML / CSS
SQL里面如何插入自动增长序列号字段
2012/03/29 面试题
C#笔试题和英文面试题
2013/02/07 面试题
毕业学生推荐信
2013/12/01 职场文书
酒店前台接待岗位职责
2013/12/03 职场文书
自我评价200字分享
2013/12/17 职场文书
建筑专业自荐信范文
2014/01/05 职场文书
岗位聘任书范文
2014/03/29 职场文书
学生请假条格式
2014/04/11 职场文书
小学生手册家长意见
2015/06/03 职场文书
大学同学聚会感言
2015/07/30 职场文书
nodejs利用readline提示输入内容实例代码
2021/07/15 NodeJs
详解MySQL中timestamp和datetime时区问题导致做DTS遇到的坑
2021/12/06 MySQL