本文实例为大家分享了Python实现学生成绩管理系统的具体代码,供大家参考,具体内容如下

基本功能:

输入并存储学生的信息:通过输入学生的学号、姓名、和分数,然后就可以把数据保存在建立的student文件里面。

打印学生的所有信息:通过一个打印函数就可以把所有的信息打印在屏幕上。

修改学生信息:这个功能首先通过查询功能查询出该学生是否存在,如果存在就对该学生的信息进行修改,如果不存在则返回到主界面。

删除学生信息:该功能是对相应的学生进行删除操作,如果学生存在就查找到进行删除。

按学生成绩进行排序: 这个功能是按照学生的成绩进行排序,对学生的信息进行操作。

查找学生信息:这个功能通过输入学号,查找该学生的信息,如果有该学号就输出该学生的信息,没有该学号就提示输入的学号不存在。

初始化功能

系统在开始使用之前先进行初始化功能,判断students.txt文件中是否保存的有学生的信息,如果有就把文件的内容读取出来,供接下来的操作使用,如用没有就初始化一个空的列表,用来保存用户的输入,程序中接下来的所有数据都会保存在该列表中相当与一个数据缓冲区。

首先是打开文件操作,对文件中的内容进行读取操作,由于在文件中保存的内容是由空格进行分割的,并且每一个学生的信息都占用一行,首先读出所有的内容,先进行按照换行进行分割,得到每个人的信息,然后再对每个人的信息进行安装空格分隔,得到每个人的详细信息包括用户的姓名,学号,成绩。

def Init(stulist): #初始化函数

print "初始化......"

file_object = open('students.txt', 'r')

for line in file_object:

stu = Student()

line = line.strip(" ")

s = line.split(" ")

stu.ID = s[0]

stu.name = s[1]

stu.score = s[2]

stulist.append(stu)

print "初始化成功!"

成绩排序实现

这部分代码是按照学生成绩的高低进行排序,在实现的时候,首先是把所有人的成绩放到一个列表里面然后使用插入排序,按照成绩的大小对StuList中保存的学生信息的地址进行排序

def Sort(stulist): #按学生成绩排序

Stu = []

sum_count = []

for li in stulist:

temp = []

temp.append(li.ID)

temp.append(li.name)

temp.append(int(li.score1))

temp.append(int(li.score2))

temp.append(int(li.score3))

temp.append(int(li.sum))

sum_count.append(int(li.sum))

Stu.append(temp)

#print sum_count

#print Stu;

#print stulist

insertSort(sum_count, stulist)

#print stulist;

display(stulist)

def insertSort(a, stulist):

for i in range(len(a)-1):

#print a,i

for j in range(i+1,len(a)):

if a[i]

temp = stulist[i]

stulist[i] = stulist[j]

stulist[j] = temp

界面截图如下:

源码:

# -*- coding: UTF-8 -*-

import os

import re

import numpy as np

class Student: #定义一个学生类

def __init__(self):

self.name = ''

self.ID =''

self.score1 = 0

self.score2 = 0

self.score1 = 0

self.sum = 0

def searchByID(stulist, ID): #按学号查找看是否学号已经存在

for item in stulist:

if item.ID == ID:

return True

def Add(stulist,stu): #添加一个学生信息

if searchByID(stulist, stu.ID) == True:

print"学号已经存在!"

return False

stulist.append(stu)

print stu.name,stu.ID, stu.score1, stu.score2, stu.score3, stu.sum;

print "是否要保存学生信息?"

nChoose = raw_input("Choose Y/N")

if nChoose == 'Y' or nChoose == 'y':

file_object = open("students.txt", "a")

file_object.write(stu.ID)

file_object.write(" ")

file_object.write(stu.name)

file_object.write(" ")

file_object.write(str(stu.score1))

file_object.write(" ")

file_object.write(str(stu.score2))

file_object.write(" ")

file_object.write(str(stu.score3))

file_object.write(" ")

file_object.write(str(stu.sum))

file_object.write(" ")

file_object.close()

print u"保存成功!"

def Search(stulist, ID): #搜索一个学生信息

print u"学号 姓名 语文 数学 英语 总分"

count = 0

for item in stulist:

if item.ID == ID:

print item.ID, ' ' ,item.name,' ', item.score1,' ',item.score2, ' ', item.score3, ' ',item.sum

break

count = 0

if count == len(stulist):

print "没有该学生学号!"

def Del(stulist, ID): #删除一个学生信息

count = 0

for item in stulist:

if item.ID == ID:

stulist.remove(item)

print "删除成功!"

break

count +=1

# if count == len(stulist):

# print "没有该学生学号!"

file_object = open("students.txt", "w")

for stu in stulist:

print stu.ID, stu.name, stu.score1,stu.score2, stu.score3, stu.sum

file_object.write(stu.ID)

file_object.write(" ")

file_object.write(stu.name)

file_object.write(" ")

file_object.write(str(stu.score1))

file_object.write(" ")

file_object.write(str(stu.score2))

file_object.write(" ")

file_object.write(str(stu.score3))

file_object.write(" ")

file_object.write(str(stu.sum))

file_object.write(" ")

file_object.close()

# print "保存成功!"

file_object.close()

def Change(stulist, ID):

count = 0

for item in stulist:

if item.ID == ID:

stulist.remove(item)

file_object = open("students.txt", "w")

for stu in stulist:

#print li.ID, li.name, li.score

file_object.write(stu.ID)

file_object.write(" ")

file_object.write(stu.name)

file_object.write(" ")

file_object.write(str(stu.score1))

file_object.write(" ")

file_object.write(str(stu.score2))

file_object.write(" ")

file_object.write(str(stu.score3))

file_object.write(" ")

file_object.write(str(stu.sum))

file_object.write(" ")

# print "保存成功!"

file_object.close()

stu = Student()

stu.name = raw_input("请输入学生的姓名")

while True:

stu.ID = raw_input("请输入学生的ID")

p = re.compile('^[0-9]{3}$')

if p.match(stu.ID):

break

else:

print "输入的有错误!"

while True:

stu.score1 = int(raw_input("请输入学生语文成绩"))

if stu.score1 <= 100 and stu.score1 > 0 :

break

else:

print "输入的学生成绩有错误!"

while True:

stu.score2 = int(raw_input("请输入学生数学成绩"))

if stu.score2 <= 100 and stu.score2 > 0 :

break

else:

print "输入的学生成绩有错误!"

while True:

stu.score3 = int(raw_input("请输入学生英语成绩"))

if stu.score3 <= 100 and stu.score3 > 0 :

break

else:

print "输入的学生成绩有错误!"

stu.sum = stu.score1 + stu.score2 + stu.score3

Add(stulist,stu)

def display(stulist): #显示所有学生信息

print u"学号 姓名 语文 数学 英语 总分"

for item in stulist:

print item.ID, ' ' ,item.name,' ', item.score1,' ',item.score2, ' ', item.score3, ' ',item.sum

def Sort(stulist): #按学生成绩排序

Stu = []

sum_count = []

for li in stulist:

temp = []

temp.append(li.ID)

temp.append(li.name)

temp.append(int(li.score1))

temp.append(int(li.score2))

temp.append(int(li.score3))

temp.append(int(li.sum))

sum_count.append(int(li.sum))

Stu.append(temp)

#print sum_count

#print Stu;

#print stulist

insertSort(sum_count, stulist)

#print stulist;

display(stulist)

def insertSort(a, stulist):

for i in range(len(a)-1):

#print a,i

for j in range(i+1,len(a)):

if a[i]

python学生管理系统-python实现学生成绩管理系统相关推荐

  1. 大学计算机学生成绩综合管理系统,大学综合测评成绩管理系统的研究 计算机专业毕业论文.doc...

    UNIVERSITY 毕业设计(论文) 设计(论文)题目: 系 部: 计算机科学与技术系 专 业: 计算机科学与技术 学 生 姓 名: 班 级: 学号 指导教师姓名: 职称 讲师 最终评定成绩 教务处 ...

  2. 基于RBAC权限管理实现的中小学成绩管理系统

    xjtuer最好不要抄,五次作业都是去年优秀作业,被老师逮住全给0分就得不偿失了,放在这里是给大家一个思路不用再去查找很多资料,了解之后再自己总结写一写 本文讲解的系统是中小学成绩管理系统,因为RBA ...

  3. python成绩管理系统界面-python实现简易版学生成绩管理系统

    300来行python代码实现简易版学生成绩管理系统,供大家参考,具体内容如下 使用链表来实现 class Node(object): def __init__(self, data, pointer ...

  4. 学生成绩管理系统实验报告_学习60天python成果,Python变成学生成绩管理系统

    学习60天python成果,Python变成学生成绩管理系统 大家好,我是一名刚进入大学的python新秀,初次来到博客,希望通过博客想大家分享一下自己的学习成果,并记录自己的在大数据方向的经历,希望 ...

  5. 基于python的学生成绩管理系统毕业设计源码071143

    Django学生成绩管理 摘   要 在国家重视教育影响下,教育部门的密确配合下,对教育进行改革.多样性.质量等等的要求,使教育系统的管理和运营比过去十年前更加理性化.依照这一现实为基础,设计一个快捷 ...

  6. Python实现学生成绩管理系统

    最近在自学python,做了一个学生成绩管理系统,算是对这段时间学习的总结 系统要求:SAMS(Student Achievement Management System 学生成绩管理系统)  做命令 ...

  7. python—成绩管理系统考试题目:小学五年级学生小明、小王、小丽、小花的语文、英语、数学成绩如……

    python-成绩管理系统考试题目:小学五年级学生小明.小王.小丽.小花的语文.英语.数学成绩如-- 最近在做人工智能微专业时发现了一道特别有趣的题目,原谅作者才疏学浅,花费了将近一下午的时间才写出正 ...

  8. python学生成绩管理系统-增删查改

    1.1问题描述及要求 问题描述: 用Python编写一个学术成绩管理系统,功能包括但不限于以下: 1.学生注册登录 2.学生成绩录入 3.个人成绩查询 4.统计个人成绩 5.统计班级成绩 要求: 用c ...

  9. python学生成绩管理系统 毕业设计-附源码061011

    摘 要 随着互联网趋势的到来,各行各业都在考虑利用互联网将自己推广出去,最好方式就是建立自己的互联网系统,并对其进行维护和管理.在现实运用中,应用软件的工作规则和开发步骤,采用python技术建设学生 ...

最新文章

  1. SQL Server 2012 AlwaysOn高可用配置之八:新建可用性组
  2. LASSO与Item Response Theory模型中的隐变量选择
  3. java延迟函数_Java 8:延迟计算
  4. Andriod SDK Manager国内无法更新的解决方案
  5. python D29 socketserver以及FTB
  6. python数据分析的发展前景_Python+BI分析5000条招聘数据,原来数据分析工作在这儿最好找...
  7. vue打包放到Java项目里_【vue】webpack打包vue项目并且运行在Tomcat里面
  8. HCIE Security 防火墙URL过滤技术 备考笔记(幕布)
  9. 微信公众号开发获取openid
  10. 小米蓝牙音响驱动_小米手机绝佳配件,20W无线闪充,支持唤醒小爱,只卖149
  11. Hibernate 二级缓存的作用
  12. matlab 对角线相加,求和、转置和对角线 - MATLAB 系统中文帮助手册
  13. LIFT:Learned Invariant Feature Transform
  14. 支付订单中未付款倒计时
  15. 【错误记录】Gradle 配置 productFlavors 报错 ( All flavors must now belong to a named flavor dimension. )
  16. 【OpenVINO】 Windows10环境下载安装
  17. 「Ceph集群部署」多机离线部署
  18. 新浪短信WEBSERVICE--本文转载
  19. 读书笔记——Neo4j实战 Cypher查询语言
  20. Kingbase金仓数据库学习小记

热门文章

  1. 005zabbix3.0报错记录
  2. 自定义View(二),强大的Canvas
  3. 【快速幂+中等难度】Calculation 哈工大HITOJ2901
  4. Silverlight 全屏模式
  5. NTLM在使用代理服务器的情况下,第三次握手可能出错
  6. 求首尾相接的数组的最大子数组和
  7. Java两种核心机制
  8. python爬虫数据分析可以做什么-自学Python爬虫学到什么程度?就可以去找工作了?...
  9. python和c学习-Cpython学习一:入门
  10. 学python能赚什么外卖-python实现外卖信息管理系统