前言

嗨喽~大家好呀,这里是魔王呐 ❤ ~!

python大作业——学生管理系统制作,另赠福利:GUI学生管理系统源码-LMLPHP

环境使用:

  • Python 3.8 解释器

  • Pycharm 编辑器

可领取福利:

GUI学生管理系统源码

python大作业——学生管理系统制作,另赠福利:GUI学生管理系统源码-LMLPHP

代码展示

从学生信息数据库<文本文件>里面读取数据

f = open('学生信息.txt', encoding='utf-8')
info_list = f.readlines()

创建一个空列表

student_info = []

for循环遍历, 把列表里面元素一个一个提取出来

for info in info_list:
    """
    str.replace('\n', '') 字符串替换方法, 把\n替换成空的
    str.split(',') 字符串分割方法, 以 , 作为分割, 把字符串分割成列表
    """
    content = info.replace('\n', '').split(',')

创建字典

    dit = {
        '姓名': content[0],
        '语文': content[1],
        '数学': content[2],
        '英语': content[3],
        '总分': content[4],
    }

列表添加元素

    student_info.append(dit)

读取出来, 并且整理好数据内容, 列表数据容器, 把所有信息放到里面存储

# print(student_info)
msg = """**************************************************
欢迎使用【学生信息管理系统】V1.0
请选择你想要进行的操作
1. 新建学生信息
2. 显示全部信息
3. 查询学生信息
4. 删除学生信息
5. 修改学生信息

0. 退出系统
**************************************************"""

输出

while True:
    print(msg)
    # 输入相关指令, 让代码执行相关程序 等号左边是自定义变量名
    num = input('请选择你要进行操作: ') # input输入内容, 返回字符串数据类型
    # 判断, 判断输入内容是什么?
    if num == '1':
        print('新建学生信息')
        # 输入学生姓名, 成绩
        name = input('请输入学生姓名:')
        chinese = input('请输入学生语文成绩:')
        math = input('请输入学生数学成绩:')
        english = input('请输入学生英语成绩:')
        # 字符串用 + 拼接
        score = int(chinese) + int(math) + int(english)
        student_dit = {
            '姓名': name,
            '语文': chinese,
            '数学': math,
            '英语': english,
            '总分': str(score),
        }
        # 添加学生信息, 放到数据库里面
        student_info.append(student_dit)
    # 会看报错的同学 1 不会看报错 0
    elif num == '2':
        print('显示全部信息')
        # 排序的
        student_info.sort(key=lambda x:x["总分"], reverse=True)
        # \t 转义字符 制表符 一个tab键
        print('姓名\t\t语文\t\t数学\t\t英语\t\t总分')
        for student in student_info:
            # student['姓名'] --> 字符串
            # student['语文'] --> 整型
            # student['总分'] --> 整型
            # 数据类型不同, 不能直接相加
            print(
                student['姓名'] + '\t\t' +
                str(student['语文']) + '\t\t\t' +
                str(student['数学']) + '\t\t\t' +
                str(student['英语']) + '\t\t\t' +
                str(student['总分'])
            )

查询学生信息

    elif num == '3':
        print('查询学生信息')
        # 输入查询人 --> 在一整个数据库里面一一对比
        name = input('请输入你要查询学生姓名: ')
        # for循环 一一提取数据内容
        for student in student_info:
            # 判断人名对不对
            if name == student['姓名']:
                print('姓名\t\t语文\t\t数学\t\t英语\t\t总分')
                print(
                    student['姓名'] + '\t\t' +
                    str(student['语文']) + '\t\t\t' +
                    str(student['数学']) + '\t\t\t' +
                    str(student['英语']) + '\t\t\t' +
                    str(student['总分'])
                )
                break
        else:
            print('找不到')

删除学生信息

    elif num == '4':
        print('删除学生信息')
        name = input('请输入你要删除学生姓名: ')
        for student in student_info:
            if name == student['姓名']:
                print('姓名\t\t语文\t\t数学\t\t英语\t\t总分')
                print(
                    student['姓名'] + '\t\t' +
                    str(student['语文']) + '\t\t\t' +
                    str(student['数学']) + '\t\t\t' +
                    str(student['英语']) + '\t\t\t' +
                    str(student['总分'])
                )
                word = input('是否要真的开除这个学生, 不考虑一下吗? <Y/N>: ' )
                if word == 'Y' or word == 'y':
                    # remove() 移除列表元素
                    student_info.remove(student)
                    break
                elif word == 'N' or word == 'n':
                    break
                else:
                    print('操作失误')
        else:
            print('找不到人')

修改学生信息

    elif num == '5':
        print('修改学生信息')
        name = input('请输入你要删除学生姓名: ')
        for student in student_info:
            if name == student['姓名']:
                print('姓名\t\t语文\t\t数学\t\t英语\t\t总分')
                print(
                    student['姓名'] + '\t\t' +
                    str(student['语文']) + '\t\t\t' +
                    str(student['数学']) + '\t\t\t' +
                    str(student['英语']) + '\t\t\t' +
                    str(student['总分'])
                )
                word = input('就这, 成绩还有问题? <Y/N>: ')
                if word == 'Y' or word == 'y':
                    # 输入学生姓名, 成绩
                    name = input('请输入学生姓名:')
                    chinese = input('请输入学生语文成绩:')
                    math = input('请输入学生数学成绩:')
                    english = input('请输入学生英语成绩:')
                    # 字符串用 + 拼接
                    score = int(chinese) + int(math) + int(english)
                    # 字典值修改
                    student['姓名'] = name
                    student['语文'] = chinese
                    student['数学'] = math
                    student['英语'] = english
                    student['总分'] = score
                    break
                elif word == 'N' or word == 'n':
                    break
                else:
                    print('操作失误')
        else:
            print('找不到人')

退出系统

    elif num == '0':
        print('退出系统')
        # 退出的时候, 要做数据保存
        with open('学生信息.txt', mode='w', encoding='utf-8') as f:
            for student in student_info:
                f.write(f'{student["姓名"]},{student["语文"]},{student["数学"]},{student["英语"]},{student["总分"]}')
                f.write('\n')
        exit() # 退出

    else:
        print('输入有误')

尾语 💝

要成功,先发疯,下定决心往前冲!

学习是需要长期坚持的,一步一个脚印地走向未来!

未来的你一定会感谢今天学习的你。

—— 心灵鸡汤

本文章到这里就结束啦~感兴趣的小伙伴可以复制代码去试试哦 😝

python大作业——学生管理系统制作,另赠福利:GUI学生管理系统源码-LMLPHP

05-24 16:05