使用Python实现简单的学生成绩管理系统

目录
  • 基本功能:
  • 实现效果:
  • 制作技巧
    • 1.定义变量
    • 2.读取学生成绩信息
    • 3.循环等待操作指令并执行
    • 4.编写操作指令执行函数
      • (1)显示学生成绩信息函数
      • (2)新建学生成绩信息函数
      • (3)查询学生成绩信息函数
      • (4)删除学生成绩信息函数
      • (5)修改学生成绩信息函数
    • 5.保存学生成绩信息函数
  • 完整源代码
  • 总结

基本功能:

  • 能够实现学生成绩相关信息的输入、输出、查找、删除、修改等功能;(使用数据库对数据进行存取)
  • 输入并存储学生的信息:通过输入学生的学号、姓名、和分数,然后就可以把数据保存在建立的student文件里面。
  • 打印学生的所有信息:通过一个打印函数就可以把所有的信息打印在屏幕上。
  • 查找学生信息:这个功能通过输入学号,查找该学生的信息,如果有该学号就输出该学生的信息,没有该学号就提示输入的学号不存在。
  • 删除学生信息:该功能是对相应的学生进行删除操作,如果学生存在就查找到进行删除。
  • 修改学生信息:这个功能首先通过查询功能查询出该学生是否存在,如果存在就对该学生的信息进行修改,如果不存在则返回到主界面。

实现效果:

制作技巧

1.定义变量

(1)定义交互输入变量

主要用于展示学生成绩管理系统的操作界面。

(2)定义学生成绩信息变量

主要用于学生成绩信息的存取。

s_info = """
*****************************************************
【学生成绩管理系统】
                            q. 退出学生成绩系统
                            1. 显示学生成绩信息
                            2. 新建学生成绩信息
                            3. 查询学生成绩信息
                            4. 删除学生成绩信息
                            5. 修改学生成绩信息
******************************************************"""
    students=[]

2.读取学生成绩信息

主要是从TXT文件中读取学生成绩信息,并保存到学生成绩变量中。

f=open("students.txt","r+")
    for st in f.readlines():
        students.append(eval(st))
    f.close()

3.循环等待操作指令并执行

主要是循环等待输入的学生管理系统操作指令,获取到操作指令后执行对学生成绩信息的显示、新建、查询、删除、修改操作。

while True:
        print(s_info)
        handle = input('请选择你要的操作选项:')
        if handle == 'q':
            print('q. 退出系统')
            break
        elif handle == '1':
            s_display(students)
        elif handle == '2':
            s_new(students)
        elif handle == '3':
            s_find(students)
        elif handle == '4':
            s_delect(students)
        elif handle == '5':
            s_modify(students)
        else:
            print('请输入正确的操作选项!')

4.编写操作指令执行函数

(1)显示学生成绩信息函数

主要功能是显示所有学生成绩信息。

def s_display(students):
        print('1. 显示全部信息')
        print('姓名\t语文\t数学\t英语\t总分')
        for stu in students:
            print(f'{stu["name"]}\t{stu["chinese"]}\t{stu["math"]}\t{stu["english"]}\t{stu["total"]}')

(2)新建学生成绩信息函数

主要是新建学生成绩信息,并更新保存学生成绩信息的文件。

def s_new(students):
        print('2. 新建学生信息')
        name = str(input('请输入学生的姓名:'))
        chinese = int(input('请输入学生的语文成绩:'))
        math = int(input('请输入学生的数学成绩:'))
        english = int(input('请输入学生的英语成绩:'))
        total = chinese + math + english
        stu = {'name': name, 'chinese': chinese, 'math': math, 'english': english, 'total': total}
        students.append(stu)
        s_write_to_file(students)

(3)查询学生成绩信息函数

主要是查询给定姓名的学生成绩信息。

def s_find(students):
        print('3. 查询学生信息')
        name = input('请输入你要查询学生的姓名:')
        for stu in students:
            if name == stu['name']:
                print('姓名\t语文\t数学\t英语\t总分')
                print(f'{stu["name"]}\t{stu["chinese"]}\t{stu["math"]}\t{stu["english"]}\t{stu["total"]}')
                break
        else:
            print('该学生不存在, 请检查名字是否输入正确!')
        s_write_to_file(students)

(4)删除学生成绩信息函数

主要是删除给定姓名的学生成绩信息,并更新保存学生成绩信息的文件。

def s_delect(students):
        print('4. 删除学生信息')
        name = input('请输入你要删除学生的姓名:')
        for stu in students:
            if name == stu['name']:
                students.remove(stu)
                break
        else:
            print('该学生不存在, 请检查名字是否输入正确!')
        s_write_to_file(students)

(5)修改学生成绩信息函数

主要是修改给定姓名的学生成绩信息,并更新保存学生成绩信息的文件。

def s_modify(students):
        print('5. 修改学生信息')
        name = input('请输入你要修改学生的姓名:')
        for stu in students:
            if name == stu['name']:
                print('(如果不想修改,直接回车!)')
                name = input('请重新输入学生的姓名:')
                chinese = input('请重新输入学生的语文成绩:')
                math = input('请重新输入学生的数学成绩:')
                english = input('请重新输入学生的英语成绩:')
                if name:
                    stu['name'] = str(name)
                if chinese:
                    stu['chinese'] = int(chinese)
                if math:
                    stu['math'] = int(math)
                if english:
                    stu['english'] = int(english)
                stu['total'] = stu['chinese'] + stu['math'] + stu['english']
                break
        else:
            print('该学生不存在, 请检查名字是否输入正确!')
        s_write_to_file(students)

5.保存学生成绩信息函数

主要实现学生成绩信息的保存更新。

def s_write_to_file(students):
        f=open("students.txt","r+")
        for s  in students:
            f.write(str(s)+"\n")
        f.close()

完整源代码

def s_write_to_file(students):
        f=open("students.txt","r+")
        for s  in students:
            f.write(str(s)+"\n")
        f.close()
def s_display(students):
        print('1. 显示全部信息')
        print('姓名\t语文\t数学\t英语\t总分')
        for stu in students:
            print(f'{stu["name"]}\t{stu["chinese"]}\t{stu["math"]}\t{stu["english"]}\t{stu["total"]}')
def s_new(students):
        print('2. 新建学生信息')
        name = str(input('请输入学生的姓名:'))
        chinese = int(input('请输入学生的语文成绩:'))
        math = int(input('请输入学生的数学成绩:'))
        english = int(input('请输入学生的英语成绩:'))
        total = chinese + math + english
        stu = {'name': name, 'chinese': chinese, 'math': math, 'english': english, 'total': total}
        students.append(stu)
        s_write_to_file(students)
def s_find(students):
        print('3. 查询学生信息')
        name = input('请输入你要查询学生的姓名:')
        for stu in students:
            if name == stu['name']:
                print('姓名\t语文\t数学\t英语\t总分')
                print(f'{stu["name"]}\t{stu["chinese"]}\t{stu["math"]}\t{stu["english"]}\t{stu["total"]}')
                break
        else:
            print('该学生不存在, 请检查名字是否输入正确!')
        s_write_to_file(students)
def s_delect(students):
        print('4. 删除学生信息')
        name = input('请输入你要删除学生的姓名:')
        for stu in students:
            if name == stu['name']:
                students.remove(stu)
                break
        else:
            print('该学生不存在, 请检查名字是否输入正确!')
        s_write_to_file(students)
def s_modify(students):
        print('5. 修改学生信息')
        name = input('请输入你要修改学生的姓名:')
        for stu in students:
            if name == stu['name']:
                print('(如果不想修改,直接回车!)')
                name = input('请重新输入学生的姓名:')
                chinese = input('请重新输入学生的语文成绩:')
                math = input('请重新输入学生的数学成绩:')
                english = input('请重新输入学生的英语成绩:')
                if name:
                    stu['name'] = str(name)
                if chinese:
                    stu['chinese'] = int(chinese)
                if math:
                    stu['math'] = int(math)
                if english:
                    stu['english'] = int(english)
                stu['total'] = stu['chinese'] + stu['math'] + stu['english']
                break
        else:
            print('该学生不存在, 请检查名字是否输入正确!')
        s_write_to_file(students)
if __name__=="__main__":
    s_info = """
*****************************************************
【学生成绩管理系统】
                            q. 退出学生成绩系统
                            1. 显示学生成绩信息
                            2. 新建学生成绩信息
                            3. 查询学生成绩信息
                            4. 删除学生成绩信息
                            5. 修改学生成绩信息
******************************************************"""
    students=[]
    f=open("students.txt","r+")
    for st in f.readlines():
        students.append(eval(st))
    f.close()
    while True:
        print(s_info)
        handle = input('请选择你要的操作选项:')
        if handle == 'q':
            print('q. 退出系统')
            break
        elif handle == '1':
            s_display(students)
        elif handle == '2':
            s_new(students)
        elif handle == '3':
            s_find(students)
        elif handle == '4':
            s_delect(students)
        elif handle == '5':
            s_modify(students)
        else:
            print('请输入正确的操作选项!')

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • python创建学生成绩管理系统

    python学生成绩管理系统创建,供大家参考,具体内容如下 要求编写学生类,班级类,并在电脑运行生成表单,输入一个数字,得到对应的结果. 输出样式 代码如下 学生类 class Student: def __init__(self,sno,name,english,math): self.sno=sno self.name=name self.__english=english self.__math=math @property def english(self): return self._

  • Python实现学生成绩管理系统

    本文实例为大家分享了Python实现学生成绩管理系统的具体代码,供大家参考,具体内容如下 基本功能: 输入并存储学生的信息:通过输入学生的学号.姓名.和分数,然后就可以把数据保存在建立的student文件里面. 打印学生的所有信息:通过一个打印函数就可以把所有的信息打印在屏幕上. 修改学生信息:这个功能首先通过查询功能查询出该学生是否存在,如果存在就对该学生的信息进行修改,如果不存在则返回到主界面. 删除学生信息:该功能是对相应的学生进行删除操作,如果学生存在就查找到进行删除. 按学生成绩进行排

  • python实现简易版学生成绩管理系统

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

  • python超详细实现完整学生成绩管理系统

    目录 学生成绩管理系统简介 源代码 students.txt main.py Login.py db.py MenuPage.py view.py 学生成绩管理系统简介 一个带有登录界面具有增减改查功能的学生成绩管理系统(面向对象思想,利用tkinter库进行制作,利用.txt文件进行存储数据) 源代码 仅供学习参考,最好还是自己多敲多练习(实践是检验真理的唯一标准) students.txt 用于存储数据 main.py from tkinter import * from Login imp

  • python实现简单的学生成绩管理系统

    本文实例为大家分享了python实现学生成绩管理系统的具体代码,供大家参考,具体内容如下 需求: 代码: import os filename = 'student.txt' def main():     while True:         menu()         choice = int(input("请选择:"))         if choice in [0,1,2,3,4,5,6,7]:             if choice==0:            

  • python mysql实现学生成绩管理系统

    这学期在学python,感觉想写一个东西来巩固自己的基础,因为大二的时候我看过python,所以还是一共花了几个小时写了一个基于mysql的成绩管理系统,这个东西其实拿不出手,不过就当复习基本了. 1 .首先如果你python中没安装mysql的驱动,还是要打开cmd命令行安装一下才可以使用: pip3 install PyMySQL 2 .创建数据库studentdb,你可以在图形化界面sqlyog中创建: 3 .然后在数据库中创建表st 4 .python连接数据库的核心代码: db = p

  • Python学生成绩管理系统简洁版

    讲起学生成绩管理系统,从大一C语言的课程设计开始,到大二的C++课程设计都是这个题,最近在学树莓派,好像树莓派常用Python编程,于是学了一波Python,看了一点基本的语法想写点东西练下手. 开发环境:Ubuntu+Python2.7 代码如下: #coding=utf-8 #保存学生信息 studentList=[] def addInfo(name,addr): tempInfo={} tempInfo['name']=name tempInfo['addr']=addr student

  • 使用Python实现简单的学生成绩管理系统

    目录 基本功能: 实现效果: 制作技巧 1.定义变量 2.读取学生成绩信息 3.循环等待操作指令并执行 4.编写操作指令执行函数 (1)显示学生成绩信息函数 (2)新建学生成绩信息函数 (3)查询学生成绩信息函数 (4)删除学生成绩信息函数 (5)修改学生成绩信息函数 5.保存学生成绩信息函数 完整源代码 总结 基本功能: 能够实现学生成绩相关信息的输入.输出.查找.删除.修改等功能:(使用数据库对数据进行存取) 输入并存储学生的信息:通过输入学生的学号.姓名.和分数,然后就可以把数据保存在建立

  • C++实现简单的学生成绩管理系统

    本文实例为大家分享了C++实现简单学生成绩管理系统的具体代码,供大家参考,具体内容如下 manage.h #include <iostream> #include <fstream> #include <string> using namespace std; //学生 template <class T> class Student {     template <class T>     friend class StudentManage;

  • Python实现简单的学生信息管理系统

    本文实例为大家分享了Python实现学生信息管理系统的具体代码,供大家参考,具体内容如下 要求描述: 学生的信息包括:学号,姓名,年龄,性别,出生日期,地址,电话,E-mail等等.试设计一个学生信息管理系统,使之能提供一下基本功能: 系统以菜单方式工作 学生信息录入功能(学生信息用文件保存)--- 输入 学生信息浏览功能 --- 输出 查询.排序功能 --- 算法 1. 按学号查询2. 按姓名查询 学生信息的删除与修改(可选项) 基本思路同之前写的那篇图书借阅系统,在此就不多赘述. 直接上代码

  • C语言利用链表实现学生成绩管理系统

    链表是一种常见的基础数据结构,结构体指针在这里得到了充分的利用. 链表可以动态的进行存储分配,也就是说,链表是一个功能极为强大的数组,他可以在节点中定义多种数据类型,还可以根据需要随意增添,删除,插入节点. 链表都有一个头指针,一般以head来表示,存放的是一个地址.链表中的节点分为两类,头结点和一般节点,头结点是没有数据域的.链表中每个节点都分为两部分,一个数据域,一个是指针域. 说到这里你应该就明白了,链表就如同车链子一样,head指向第一个元素:第一个元素又指向第二个元素:……,直到最后一

随机推荐