Python学生成绩管理系统

这篇具有很好参考价值的文章主要介绍了Python学生成绩管理系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.功能需求分析

根据项目要求,学生系统成绩管理系统应该具备以下几个功能:

(1)系统的登录与注册:

(2)学生成绩添加:

(3)学生成绩修改:

(4)学生成绩删除:

(5)学生成绩查询:

(6)学生成绩排序及显示:

(7)系统退出:

2. 系统设计

2.1 系统功能结构

系统主要功能分为三大模块,分别为:系统的登录与注册模块、学生成绩管理模块和学生成绩排序及显示模块。其中学生成绩管理模块功能包括学生学绩的录入、删除、修改和查询;学生成绩排序显示模块功能包括按学号排序、按总分排序、按各科目成绩排序显示。

3. 详细设计

3.1 登录与注册功能模块

3.1.1系统的登录 

1.功能描述

实现用户的登录,系统的登录功能是通过函数login()的运行实现。

2.具体实现代码

# 登入功能实现

def login():

    user = input("登录用户:")

    passwd = input("登录密码:")

    users = load_user()

    users.get(user, "0")

    k = users.get(user, "0")

    if k == passwd:

        mash_menu()

    else:

        if k == "0":

            print("用户不存在!", end=",")

        else:

            print("密码错误!", end=",")

        input("按任意键继续!")

3.实现效果图

python学生成绩管理系统代码,python,开发语言

3.1.2系统的注册

1.功能描述

实现用户的注册,系统的登录功能是通过函数regist()的运行实现。

2.具体实现代码

# 注册功能实现

def regist():

    user = input("注册用户:")

    pswd = input("注册密码:")

    users = load_user()

    if users.get(user, 0) == 0:

        user_write(user, pswd)

        print("注册成功!", end=",")

    else:

        print("用户已存在!", end=",")

    input("按任意键继续")

3.实现效果图

python学生成绩管理系统代码,python,开发语言

3.2 成绩管理功能模块

3.2.1主函数功能设计实现

1.功能描述

系统的操作主界面是通过主函数main()的运行实现,在主函数中,通过循环调用函数menu()生成功能菜单,以及使用if控制各功能子函数的调用,从而实现系统各功能模块。

2.实现代码

# 主菜单     

def main_menu():

    ctrl = True

    while ctrl:

        a = os.system("cls")

        print('''

                  ┌───学生成绩管理系统───┐

                           ====主功能菜单===

                              1.注册

                              2.登录

                              3.退出

                           =================

                        说明:使用数字选择功能

                  └──────────────┘

              ''')

        op = eval(input("请输入数字[1-3]:"))

        if op == 1:

            regist()

        elif op == 2:

            login()

        elif op == 3:

            print("系统退出!")

            ctrl = False

        else:

            print("输入错误", end=",")

            input("按任意键继续!")

3. 实现效果

进入主函数即可进入系统主界面如图所示。

python学生成绩管理系统代码,python,开发语言

3.2.2 添加学生信息设计实现

1.功能描述

添加学生信息,添加学生信息的功能是通过函数add()的运行实现。

2.具体实现代码

# 添加学生信息

def add():

    a = os.system("cls")

    ctrl = True

    student_list = load_student()  # 读入本地学生信息

    while ctrl:

        id = input("请输入学生学号:")

        name = input("请输入学生姓名:")

        english = input("请输入英语成绩:")

        math = input("请输入数学成绩:")

        python = input("请输入Python成绩:")

        try:

            total = str(int(english) + int(math) + int(python))

        except:

            print("输入成绩有误,请重新数入!")

            continue

        student = [id, name, english, math, python, total]

        student_list.append(student)

        answer = input("是否继续添加信息!?:'y/n'")

        if answer == 'y':

            continue

        else:

            break

    save_stud(student_list)  # 存入学生信息到本地

    print("学生信息录入成功!")

# 保存学生信息

def save_stud(lst):

    stu = open(filename, 'w')

    for i in lst:

        stu.write(','.join(i) + '\n')

stu.close()

3.实现效果图

python学生成绩管理系统代码,python,开发语言

python学生成绩管理系统代码,python,开发语言

3.2.3 删除学生信息设计实现

1.功能描述

 删除学生信息,删除学生信息的功能是通过函数delet()的运行实现。

2.具体实现代码

# 删除学生信息

def delet():

    os.system('cls')

    stud = load_student()

    ctrl = True

    while ctrl:

        ID = input('请输入待删除学生学号:')

        flag = 0

        for i in stud:

            if i[0] == ID:

                flag = 1

                stud.remove(i)

        if flag:

            print("删除成功!")

        else:

            print('学生信息不存在!')

        op = input('是否继续删除:(y/n)')

        if op == 'y':

            ctrl = True

        else:

            ctrl = False

    save_stud(stud)

    print('信息存入成功!')

    input('请按任意键继续')

3.实现效果图

python学生成绩管理系统代码,python,开发语言

python学生成绩管理系统代码,python,开发语言

3.2.4 修改学生信息设计实现

1.功能描述

修改学生信息,修改学生信息的功能是通过函数update()的运行实现。

2.具体实现代码

# 修改学生信息

def update():

    os.system('cls')

    ctrl = True

    flag = False

    stud = load_student()

    while ctrl:

        ID = input("请输入待修改学生的学号:")

        for i in stud:

            if i[0] == ID:

                flag = True

                op = int(

                    input('''修改学生姓名请输入1,修改英语成绩请输入2,修改数学成绩请输入3,修改Python成绩请输入4:'''))

                if op >= 2:

                    i[op] = input('请输入修改后的信息:')

                    i[-1] = str(int(i[2]) + int(i[3]) + int(i[4]))

                else:

                    i[op] = input('请输入修改后的信息:')

                break

        if flag:

            print('修改成功!')

        else:

            print('未查询到学生信息!')

        op = input('是否继续修改(y/n)?')

        if op == 'y':

            ctrl = True

        else:

            ctrl = False

    save_stud(stud)

3.实现效果图

 python学生成绩管理系统代码,python,开发语言

 python学生成绩管理系统代码,python,开发语言

3.2.5 查询学生信息设计实现

1.功能描述

查询学生信息,查询学生信息的功能是通过函数search()的运行实现。

2.具体实现代码

# 查询学生信息

def search():

    os.system('cls')

    stud = load_student()

    op = input('输入1按学号搜索,输入2按姓名搜索')

    op = int(op) - 1

    flag = False

    if op == 0:

        chrt = input('输入待搜索学生的学号:')

    else:

        chrt = input('输入待搜索学生的姓名:')

    for i in stud:

        if i[op] == chrt:

            flag = True

            print('{:10}{:10}{:10}{:10}{:10}{:10}'.format('学号', '姓名', '英语', '数学', 'Python', '总分'))

            print('{:12}{:12}{:12}{:12}{:12}{:12}'.format(i[0], i[1], i[2], i[3], i[4], i[-1]))

            break

    if flag:

        print('搜索成功!')

    else:

        print('搜索失败!')

    input('请输入任意键继续')

3.实现效果图

 python学生成绩管理系统代码,python,开发语言

 python学生成绩管理系统代码,python,开发语言

3.3 排序及显示功能模块

1.功能描述

实现排序及显示功能,学生排序及显示的功能是通过函数show_menu()的运行实现。

 2.具体实现代码

# 显示功能菜单

def show_menu():

    ctrl = True

    while ctrl:

        a = os.system("cls")

        print('''

                  ┌───学生成绩管理系统───┐

                        ====排序与显示功能菜单===

                              1.按学号排序显示

                              2.按总分排序显示

                              3.按科目排序显示                            

                              4.返回上一级

                        ======================

                         说明:使用数字选择功能

                  └──────────────┘

              ''')

        op = eval(input("请输入数字[1-4]:"))

        if op == 1:

            show_id()

        elif op == 2:

            show_total()

        elif op == 3:

            show_score()

        elif op == 4:

            ctrl = False

        else:

            print("输入错误", end=",")

            input("按任意键继续!")

3.实现效果图

python学生成绩管理系统代码,python,开发语言

3.3.1按学号排序显示

1.功能描述

按学号排序,按学号排序的功能是通过函数show_id()的运行实现。

2.具体实现代码

# 按学号从小到大显示学生信息

def show_id():

    os.system('cls')

    stud = load_student()[1:]

    stud.sort(key=lambda x:int(x[0]), reverse=False)

    print('-------------记录信息{}条---------'.format(len(stud)))

    print('{:10}{:10}{:10}{:10}{:10}{:10}'.format('学号', '姓名', '英语', '数学', 'Python', '总分'))

    for i in stud:

        print('{:12}{:12}{:12}{:12}{:12}{:12}'.format(i[0], i[1], i[2], i[3], i[4], i[-1]))

    input('按任意键以继续')

3.实现效果图

python学生成绩管理系统代码,python,开发语言

3.3.2 按总分排序显示

1.功能描述

按总分排序,按总分排序的功能是通过函数show_total()的运行实现。

2.具体实现代码

# 按总分从大到小显示学生信息

def show_total():

    os.system('cls')

    stud = load_student()[1:]

    stud.sort(key=lambda x: int(x[-1]), reverse=True)

    print('-------------记录信息{}条---------'.format(len(stud)))

    print('{:10}{:10}{:10}{:10}{:10}{:10}'.format('学号', '姓名', '英语', '数学', 'Python', '总分'))

    for i in stud:

        print('{:12}{:12}{:12}{:12}{:12}{:12}'.format(i[0], i[1], i[2], i[3], i[4], i[-1]))

    input('按任意键以继续')

3.实现效果图

python学生成绩管理系统代码,python,开发语言

3.3.3按各科目成绩排序显示

1.功能描述

按各科目成绩排序,按各科成绩排序的功能是通过函数show_score()的运行实现。

2.具体实现代码

# 按单科分数从大到小显示学生信息

def show_score():

    os.system('cls')

    stud = load_student()[1:]

    op = input("输入1按英语成绩排序,输入2按数学成绩排序,输入3按Python成绩排序")

    op = int(op) + 1

    stud.sort(key=lambda x: int(x[op]), reverse=True)

    print('-------------记录信息{}条---------'.format(len(stud)))

    print('{:10}{:10}{:10}{:10}{:10}{:10}'.format('学号', '姓名', '英语', '数学', 'Python', '总分'))

    for i in stud:

        print('{:12}{:12}{:12}{:12}{:12}{:12}'.format(i[0], i[1], i[2], i[3], i[4], i[-1]))

    input('按任意键以继续')

3.实现效果图

python学生成绩管理系统代码,python,开发语言

4. 总代码如下:

import os

username = "user.txt"
filename = 'students.csv'


# 读取本地用户账号信息
def load_user():
    with open(username, 'r') as f:
        dic = {}
        for item in f.readlines():
            item = item.replace("\n", "")
            li = item.split(",")
            dic[li[0]] = li[1]
        f.close()

    return dic


# 读取本地学生的信息
def load_student():
    with open(filename, 'r') as f:
        stud = []
        for item in f.readlines():
            item = item.replace("\n", "")
            li = item.split(",")
            stud.append(li)
        f.close()
    return stud


# 保存用户信息到本地
def user_write(user, pswd):
    f = open(username, "a")
    f.write(user + "," + pswd + '\n')
    f.close()


# 注册功能实现
def regist():
    user = input("注册用户:")
    pswd = input("注册密码:")
    users = load_user()
    if users.get(user, 0) == 0:
        user_write(user, pswd)
        print("注册成功!", end=",")
    else:
        print("用户已存在!", end=",")
    input("按任意键继续")


# 登入功能实现
def login():
    user = input("登录用户:")
    passwd = input("登录密码:")
    users = load_user()
    users.get(user, "0")
    k = users.get(user, "0")
    if k == passwd:
        mash_menu()
    else:
        if k == "0":
            print("用户不存在!", end=",")
        else:
            print("密码错误!", end=",")
        input("按任意键继续!")


# 添加学生信息
def add():
    a = os.system("cls")
    ctrl = True
    student_list = load_student()  # 读入本地学生信息
    while ctrl:
        id = input("请输入学生学号:")
        name = input("请输入学生姓名:")
        english = input("请输入英语成绩:")
        math = input("请输入数学成绩:")
        python = input("请输入Python成绩:")
        try:
            total = str(int(english) + int(math) + int(python))
        except:
            print("输入成绩有误,请重新数入!")
            continue
        student = [id, name, english, math, python, total]
        student_list.append(student)

        answer = input("是否继续添加信息!?:'y/n'")
        if answer == 'y':
            continue
        else:
            break

    save_stud(student_list)  # 存入学生信息到本地
    print("学生信息录入成功!")


# 保存学生信息
def save_stud(lst):
    stu = open(filename, 'w')
    for i in lst:
        stu.write(','.join(i) + '\n')
    stu.close()


# 删除学生信息
def delet():
    os.system('cls')
    stud = load_student()
    ctrl = True
    while ctrl:
        ID = input('请输入待删除学生学号:')
        flag = 0
        for i in stud:
            if i[0] == ID:
                flag = 1
                stud.remove(i)
        if flag:
            print("删除成功!")
        else:
            print('学生信息不存在!')
        op = input('是否继续删除:(y/n)')
        if op == 'y':
            ctrl = True
        else:
            ctrl = False
    save_stud(stud)
    print('信息存入成功!')
    input('请按任意键继续')


# 查询学生信息
def search():
    os.system('cls')
    stud = load_student()
    op = input('输入1按学号搜索,输入2按姓名搜索')
    op = int(op) - 1
    flag = False
    if op == 0:
        chrt = input('输入待搜索学生的学号:')
    else:
        chrt = input('输入待搜索学生的姓名:')
    for i in stud:
        if i[op] == chrt:
            flag = True
            print('{:10}{:10}{:10}{:10}{:10}{:10}'.format('学号', '姓名', '英语', '数学', 'Python', '总分'))
            print('{:12}{:12}{:12}{:12}{:12}{:12}'.format(i[0], i[1], i[2], i[3], i[4], i[-1]))
            break
    if flag:
        print('搜索成功!')
    else:
        print('搜索失败!')
    input('请输入任意键继续')


# 修改学生信息
def update():
    os.system('cls')
    ctrl = True
    flag = False
    stud = load_student()
    while ctrl:
        ID = input("请输入待修改学生的学号:")
        for i in stud:
            if i[0] == ID:
                flag = True
                op = int(
                    input('''修改学生姓名请输入1,修改英语成绩请输入2,修改数学成绩请输入3,修改Python成绩请输入4:'''))
                if op >= 2:
                    i[op] = input('请输入修改后的信息:')
                    i[-1] = str(int(i[2]) + int(i[3]) + int(i[4]))
                else:
                    i[op] = input('请输入修改后的信息:')
                break
        if flag:
            print('修改成功!')
        else:
            print('未查询到学生信息!')
        op = input('是否继续修改(y/n)?')
        if op == 'y':
            ctrl = True
        else:
            ctrl = False
    save_stud(stud)


# 按学号从小到大显示学生信息
def show_id():
    os.system('cls')
    stud = load_student()[1:]
    stud.sort(key=lambda x:int(x[0]), reverse=False)
    print('-------------记录信息{}条---------'.format(len(stud)))
    print('{:10}{:10}{:10}{:10}{:10}{:10}'.format('学号', '姓名', '英语', '数学', 'Python', '总分'))
    for i in stud:
        print('{:12}{:12}{:12}{:12}{:12}{:12}'.format(i[0], i[1], i[2], i[3], i[4], i[-1]))
    input('按任意键以继续')


# 按总分从大到小显示学生信息
def show_total():
    os.system('cls')
    stud = load_student()[1:]
    stud.sort(key=lambda x: int(x[-1]), reverse=True)
    print('-------------记录信息{}条---------'.format(len(stud)))
    print('{:10}{:10}{:10}{:10}{:10}{:10}'.format('学号', '姓名', '英语', '数学', 'Python', '总分'))
    for i in stud:
        print('{:12}{:12}{:12}{:12}{:12}{:12}'.format(i[0], i[1], i[2], i[3], i[4], i[-1]))
    input('按任意键以继续')


# 按单科分数从大到小显示学生信息
def show_score():
    os.system('cls')
    stud = load_student()[1:]
    op = input("输入1按英语成绩排序,输入2按数学成绩排序,输入3按Python成绩排序")
    op = int(op) + 1
    stud.sort(key=lambda x: int(x[op]), reverse=True)
    print('-------------记录信息{}条---------'.format(len(stud)))
    print('{:10}{:10}{:10}{:10}{:10}{:10}'.format('学号', '姓名', '英语', '数学', 'Python', '总分'))
    for i in stud:
        print('{:12}{:12}{:12}{:12}{:12}{:12}'.format(i[0], i[1], i[2], i[3], i[4], i[-1]))
    input('按任意键以继续')


# 显示功能菜单
def show_menu():
    ctrl = True
    while ctrl:
        a = os.system("cls")
        print('''
                  ┌───学生成绩管理系统───┐
                        ====排序与显示功能菜单===
                              1.按学号排序显示
                              2.按总分排序显示
                              3.按科目排序显示                             
                              4.返回上一级
                        ======================

                         说明:使用数字选择功能

                  └──────────────┘
              ''')
        op = eval(input("请输入数字[1-4]:"))
        if op == 1:
            show_id()
        elif op == 2:
            show_total()
        elif op == 3:
            show_score()
        elif op == 4:
            ctrl = False
        else:
            print("输入错误", end=",")
            input("按任意键继续!")


# 学生信息管理系统菜单
def manage_menu():
    ctrl = True
    while ctrl:
        a = os.system("cls")
        print('''
                  ┌───学生成绩管理系统───┐
                        ====成绩管理功能菜单===
                              1.学生成绩添加
                              2.学生成绩修改
                              3.学生成绩删除
                              4.学生成绩查询
                              5.返回上一级
                       ======================

                        说明:使用数字选择功能

                  └──────────────┘
              ''')
        op = eval(input("请输入数字[1-5]:"))
        if op == 1:
            add()
        elif op == 2:
            update()
        elif op == 3:
            delet()
        elif op == 4:
            search()
        elif op == 5:
            ctrl = False
        else:
            print("输入错误", end=",")
            input("按任意键继续!")


# 功能菜单
def mash_menu():
    ctrl = True
    while ctrl:
        a = os.system("cls")
        print('''
                  ┌───学生成绩管理系统───┐
                           ====功能菜单===
                              1.学生成绩管理
                              2.排序及显示
                              3.返回上一级
                           =================

                        说明:使用数字选择功能

                  └──────────────┘
              ''')
        op = eval(input("请输入数字[1-3]:"))
        if op == 1:
            manage_menu()
        elif op == 2:
            show_menu()
        elif op == 3:
            ctrl = False
        else:
            print("输入错误", end=",")
            input("按任意键继续!")

        # 主菜单      


def main_menu():
    ctrl = True
    while ctrl:
        a = os.system("cls")
        print('''
                  ┌───学生成绩管理系统───┐
                           ====主功能菜单===
                              1.注册
                              2.登录
                              3.退出
                           =================

                        说明:使用数字选择功能

                  └──────────────┘
              ''')
        op = eval(input("请输入数字[1-3]:"))
        if op == 1:
            regist()
        elif op == 2:
            login()
        elif op == 3:
            print("系统退出!")
            ctrl = False
        else:
            print("输入错误", end=",")
            input("按任意键继续!")


main_menu()文章来源地址https://www.toymoban.com/news/detail-768870.html

到了这里,关于Python学生成绩管理系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于python的学生成绩管理,用python做成绩管理系统

    大家好,给大家分享一下python编写一个简单的学生成绩管理程序,很多人还不知道这一点。下面详细解释一下。现在让我们来看看! 概述 在本篇文章中,我们将探讨如何使用Python编程语言创建一个简单但功能齐全的学生成绩管理系统。该系统将允许我们添加新的学生、删除

    2024年02月03日
    浏览(40)
  • 96 | Python 小项目—— 学生成绩管理系统

    学生成绩管理系统是一个简单的学生课程管理系统,旨在帮助学校或教育机构轻松管理学生的成绩和课程信息。系统提供了登录界面,只有管理员可以访问数据。通过创建一个CSV文件来存储学生信息,可以对数据进行修改和读取。系统使用TKINTER库创建了用户界面,实现了学生

    2024年02月13日
    浏览(66)
  • 基于Python+Django实现的学生成绩管理系统

    作者主页:编程指南针 作者简介:Java领域优质创作者、CSDN博客专家 、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、简历模板、学习资料、面试题库、技术互助 收藏点赞不迷路  关注作者有好处 文末获取源码   语言环境:Python3.7 数据库:

    2024年02月11日
    浏览(45)
  • 基于Python Web的学生成绩管理系统--文档

    分享一个基于Python web的学生成绩管理系统文档,方便各位毕业学子参考。 在学校中,教学是学校的重大职能之一,教学管理也是非常重要的管理活动,而成绩管理作为教育管理的核心之一是尤为重要的。随着时代的变化、科技的日益发展,教学工作逐步信息、科技化,学生

    2023年04月08日
    浏览(45)
  • (附源码)python学生成绩管理系统 毕业设计 061011

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

    2024年02月04日
    浏览(44)
  • Python入门——学生成绩管理系统(录入、查找、删除、修改、排序、统计、显示)

    学生成绩管理系统主要包括录入学生信息、查找学生信息、删除学生信息、修改学生信息、排序、统计学生总人数、显示学生信息和退出系统。 系统界面编写(菜单显示函数): main函数:  录入学生信息函数: 查找学生信息函数: 删除学生信息函数:  修改学生信息函数

    2024年02月11日
    浏览(45)
  • (附源码)基于python的学生成绩管理系统 毕业设计071143

    Django学生成绩管理 摘 要 在国家重视教育影响下,教育部门的密确配合下,对教育进行改革、多样性、质量等等的要求,使教育系统的管理和运营比过去十年前更加理性化。依照这一现实为基础,设计一个快捷而又方便的线上学生成绩管理系统是一项十分重要并且有价值的事

    2024年02月05日
    浏览(60)
  • 学生信息及成绩管理系统(Python+Sqlite)数据库版

    目录 功能模块: 运行功能演示:  具体代码实现过程: 创建sqlite 数据库  Python代码 引入os和sqlite3包: 初始化数据库: 连接数据库: 关闭并提交数据到数据库: 查询数据并显示: 添加并插入数据到数据库: 更新数据到数据库: 删除数据并更新数据库:  导入和导出数据

    2024年02月04日
    浏览(47)
  • Python毕业设计|课程设计|基于Python+Django实现的学生成绩管理系统

    作者主页:编程指南针 作者简介:Java领域优质创作者、CSDN博客专家 、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、简历模板、学习资料、面试题库、技术互助 收藏点赞不迷路  关注作者有好处 文末获取源码   语言环境:Python3.7 数据库:

    2024年02月10日
    浏览(59)
  • (附源码)python+mysql+基于python的学生成绩管理系统 毕业设计071143

    Django学生成绩管理 摘 要 在国家重视教育影响下,教育部门的密确配合下,对教育进行改革、多样性、质量等等的要求,使教育系统的管理和运营比过去十年前更加理性化。依照这一现实为基础,设计一个快捷而又方便的线上学生成绩管理系统是一项十分重要并且有价值的事

    2024年02月04日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包