【基于python的学生管理系统】


前言

学生管理系统是每门编程语言最经典的基础案例,它基本囊概了前面的知识点,下面是我的思路及代码,可以了解了解。


一、先建立思路

0.开始展示操作
1.查看全部
2.指定查看
3.增加
4.修改
5.删除

二、效果演示

在这里插入图片描述

三、代码开始

1.先导入整篇文章所要用的模块

如下:

import time
import json

2.实现操作0

代码如下(示例):

text = f"""
    -----------------------------------------------------------------------------------------------------
   | 学生                 输入1: 查看所有学生信息列表                                                       |
   | 管理                 输入2: 查看指定学生信息                                                           |
   | 系统                 输入3: 增加学生信息                                                               |
   | 操作                 输入4: 修改学生信息                                                               |
   | 说明                 输入5: 删除学生信息                                                               |
   | ^~^                 输入0: 保存退出                                                                   |   
   |                                                         {time.strftime('%Y-%m-%d %H:%M:%S')}          |   
    ------------------------------------------------------------------------------------------------------
"""
print(text)
with open('studens.json', 'r', encoding='utf-8') as f:
    students = f.read( ) # 此处需要自己创建一个名为studens的json文件,并一开始就进行读取。

2.实现操作1

while True: # 开始运行程序
    a = input("请输入你要操作的指令:")
    if a == '1':
        print("查看所有学生信息列表")
        for stu in student:
            print(f"姓名:{stu['name']}\t语文:{stu['chinese']}\t数学:{stu['math']}\t英语:{stu['english']}\t总分:{stu['total']}")
    else:
        print('请输入正确的指令')

2.实现操作2

   elif a == '2':
        print('查看指定学生信息')
        b = input("请输入要查询的学生姓名:")
        for stu in student:
            if b == stu['name']:
                print(f"姓名:{stu['name']}\t语文:{stu['chinese']}\t数学:{stu['math']}\t英语:{stu['english']}\t总分:{stu['total']}")
                print("*******查询成功********")
                break
            else:
                print("该学生不存在")

2.实现操作3

    elif a == '3':
        print('增加学生信息')
        name = 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}
        student.append(stu)

2.实现操作4

    elif a == '4':
        print('修改学生信息 ')
        name = input('请输入您要修改学生的名字:')

        for stu in student:
            # 如果输入的学生姓名等于学生列表里面某个学生, 代表找到了该学生
            if name == stu['name']:
                """执行修改学生信息的操作, 原有的数据不想修改, 直接回车"""
                print('(如果输入为空, 就使用原有的数据)')
                name = input('请重新输入学生的姓名:')
                chinese = input('请重新输入学生语文成绩:')
                math = input('请重新输入学生数学成绩:')
                english = input('请重新输入学生英语成绩:')

                if name:
                    stu['name'] = 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']
                print('########----- 修改成功 -----#######')
                break
        else:
            print('该学生不存在, 请检查名字是否输入正确!')

2.实现操作5

    elif a == '5':
        print('删除学生信息')
        name = input('你想要删除的学生姓名:')
        for stu in student:
            if name == stu['name']:
                student.remove(stu)
                print('*********删除成功**********')
                break
        else:
            print('该学生不存在,请检查或者重新创建一个')

2.实现操作0

    elif a == '0':
        students_str = json.dumps(student, ensure_ascii=False)
        with open('studens.json', 'w', encoding='utf-8') as e:
            e.write(students_str)
            print('保存成功')
            break

    

四、完整代码

import time
import json
text = f"""
    -----------------------------------------------------------------------------------------------------
   | 学生                 输入1: 查看所有学生信息列表                                                         |
   | 管理                 输入2: 查看指定学生信息                                                            |
   | 系统                 输入3: 增加学生信息                                                               |
   | 操作                 输入4: 修改学生信息                                                               |
   | 说明                 输入5: 删除学生信息                                                               |
   | ^~^                 输入0: 保存退出                                                                   |   
   |                                                         {time.strftime('%Y-%m-%d %H:%M:%S')}                         |   
    ------------------------------------------------------------------------------------------------------
"""
print(text)
with open('studens.json', 'r', encoding='utf-8') as f:
    students = f.read( )
student = json.loads(students)
while True:
    a = input("请输入你要操作的指令:")
    if a == '1':
        print("查看所有学生信息列表")
        for stu in student:
            print(f"姓名:{stu['name']}\t语文:{stu['chinese']}\t数学:{stu['math']}\t英语:{stu['english']}\t总分:{stu['total']}")

    elif a == '2':
        print('查看指定学生信息')
        b = input("请输入要查询的学生姓名:")
        for stu in student:
            if b == stu['name']:
                print(f"姓名:{stu['name']}\t语文:{stu['chinese']}\t数学:{stu['math']}\t英语:{stu['english']}\t总分:{stu['total']}")
                print("*******查询成功********")
                break
            else:
                print("该学生不存在")
    elif a == '3':
        print('增加学生信息')
        name = 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}
        student.append(stu)

    elif a == '4':
        print('修改学生信息 ')
        name = input('请输入您要修改学生的名字:')

        for stu in student:
            # 如果输入的学生姓名等于学生列表里面某个学生, 代表找到了该学生
            if name == stu['name']:
                """执行修改学生信息的操作, 原有的数据不想修改, 直接回车"""
                print('(如果输入为空, 就使用原有的数据)')
                name = input('请重新输入学生的姓名:')
                chinese = input('请重新输入学生语文成绩:')
                math = input('请重新输入学生数学成绩:')
                english = input('请重新输入学生英语成绩:')

                if name:
                    stu['name'] = 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']
                print('########----- 修改成功 -----#######')
                break
        else:
            print('该学生不存在, 请检查名字是否输入正确!')

    elif a == '5':
        print('删除学生信息')
        name = input('你想要删除的学生姓名:')
        for stu in student:
            if name == stu['name']:
                student.remove(stu)
                print('*********删除成功**********')
                break
        else:
            print('该学生不存在,请检查或者重新创建一个')

    elif a == '0':
        students_str = json.dumps(student, ensure_ascii=False)
        with open('studens.json', 'w', encoding='utf-8') as e:
            e.write(students_str)
            print('保存成功')
            break

    else:
        print('请输入正确的指令')


    

总结

以上基于基础知识所设计的,未使用到函数封装思想,若自己想要加强,可尝试实现一下封装。有不懂的可留言,有什么想法同样。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ฅ˙Ꙫ˙ฅ599

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值