返回顶部
首页 > 资讯 > 后端开发 > Python >python实现学生管理系统源码
  • 834
分享到

python实现学生管理系统源码

2024-04-02 19:04:59 834人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

本文实例为大家分享了python实现学生管理系统的具体代码,供大家参考,具体内容如下 一.面向过程版 import os stu_list = [] def show_me

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

一.面向过程版


import os

stu_list = []


def show_menu():
    print('1.添加学生')
    print('2.删除学生')
    print('3.修改学生信息')
    print('4.查询单个学生信息')
    print('5.查询所有学生信息')
    print('6.退出系统')


def insert_student():
    name = input('请输入学生名字:')
    for stu in stu_list:
        if stu['name'] == name:
            print('.........学生信息已存在........')
            return
    age = input('请输入学生年龄:')
    gender = input('请输入学生性别:')
    stu_dict = {'name': name, 'age': int(age), 'gender': gender}
    stu_list.append(stu_dict)
    print("学生信息添加成功!")


def remove_student():
    name = input('请输入要操作的学生的名字:')
    for stu in stu_list:
        if stu['name'] == name:
            stu_list.remove(stu)
            print('删除成功!')
            break
    else:
        print('........该学生信息不存在,无法删除.........')


def modify_student():
    name = input('请输入要操作的学生的名字:')
    for stu in stu_list:
        if stu['name'] == name:
            stu['age'] = int(input('请输入新的年龄:'))
            print('修改成功!')
            break
    else:
        print('........该学生信息不存在,无法修改.........')


def search_student():
    name = input('请输入要操作的学生的名字:')
    for stu in stu_list:
        if stu['name'] == name:
            print(f'姓名:{stu["name"]},年龄:{stu["age"]},性别:{stu["gender"]}')
            break
    else:
        print('........该学生信息不存在.......')


def show_all_stu():
    if len(stu_list):
        for stu in stu_list:
            print(f'姓名:{stu["name"]},年龄:{stu["age"]},性别:{stu["gender"]}')
    else:
        print("目前没有学生信息!")


def save():
    f = open('student.txt', 'w')
    f.write(str(stu_list))
    f.close()


def read_file():
    global stu_list
    if os.path.exists('student.tct'):
        f = open('student.txt', 'r', encoding='utf-8')
        buf = f.read()
        if buf:
            stu_list = eval(buf)
        f.close()


def main():
    read_file()
    while True:
        show_menu()
        opt = input('请输入用来选择的编号:')
        if opt == '1':
            print('1.添加学生')
            insert_student()
        elif opt == '2':
            print('2.删除学生')
            remove_student()
        elif opt == '3':
            print('3.修改单个学生信息')
            modify_student()
        elif opt == '4':
            print('查询单个学生信息')
            search_student()
        elif opt == '5':
            print('5.查询所有学生信息')
            show_all_stu()
        elif opt == '6':
            print('欢迎下次使用本系统')
            save()
            break
        else:
            print('输入有误,请重新输入')
            continue
        input('........回车键继续操作........')


main()

二.面向对象

1.工程文件

2.main.py


import student_manage_sysytem as sms

if __name__ == '__main__':
    stu_sms = sms.StudenManagerSystem()
    stu_sms.start()

3.student.py


class Student():
    def __init__(self, stu_id, name, age, gender):
        self.sut_id = stu_id
        self.name = name
        self.age = age
        self.gender = gender

    def __str__(self):
        return f"{self.sut_id},{self.name},{self.age},{self.gender}"

4.student_manage_system.py


import student


class StudenManagerSystem():
    def __init__(self):
        self.stu_dict = {}

    @staticmethod
    def __show_menu():
        print('1.添加学生')
        print('2.删除学生')
        print('3.修改学生信息')
        print('4.查询单个学生信息')
        print('5.查询所有学生信息')
        print('6.退出系统')

    def __insert_student(self):
        stu_id = input('请输入学生学号:')
        if stu_id in self.stu_dict:
            print('学生信息已经存在,不需要重复添加')
            return
        name = input('请输入学生名字:')
        age = input('请输入学生年龄:')
        gender = input('请输入学生性别:')
        stu = student.Student(stu_id, name, age, gender)
        self.stu_dict[stu_id] = stu

    def __removw_student(self):
        stu_id = input('请输入学号:')
        if stu_id in self.stu_dict:
            del self.stu_dict[stu_id]
            print('学生已经删除')
        else:
            print('学生信息不存在,无法删除')

    def __modify_student(self):
        stu_id = input('请输入学号:')
        if stu_id in self.stu_dict:
            stu = self.stu_dict[stu_id]
            stu.age = input('请输入新的年龄:')
            print('信息已经修改完毕')
        else:
            print('学生信息不存在,无法修改')

    def __search_student(self):
        stu_id = input('请输入学号:')
        if stu_id in self.stu_dict:
            stu = self.stu_dict[stu_id]
            print(stu)
        else:
            print('学生信息不存在')

    def __save(self):
        f = open('student.txt', 'w', encoding='utf-8')
        for stu in self.stu_dict.values():
            f.write(str(stu) + '\n')
        f.close()

    def __load_info(self):
        try:
            f = open('student.txt', 'r', encoding='utf-8')
            buf_list = f.readlines()
            for buf in buf_list:
                buf = buf.strip()
                info_list = buf.split(',')
                stu = student.Student(*info_list)
                stu_id = info_list[0]
                self.stu_dict[stu_id] = stu
            f.close()
        except Exception:
            pass

    def __show_all_info(self):
        for stu in self.stu_dict.values():
            print(stu)

    def start(self):
        self.__load_info()
        while True:
            self.__show_menu()
            opt = input('请输入用来选择的编号:')
            if opt == '1':
                print('1.添加学生')
                self.__insert_student()
            elif opt == '2':
                print('2.删除学生')
                self.__removw_student()
            elif opt == '3':
                print('3.修改单个学生信息')
                self.__modify_student()
            elif opt == '4':
                print('查询单个学生信息')
                self.__search_student()
            elif opt == '5':
                print('5.查询所有学生信息')
                self.__show_all_info()
            elif opt == '6':
                self.__save()
                print('欢迎下次使用本系统')
                break
            else:
                print('输入有误,请重新输入')
                continue
            input('........回车键继续操作........')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: python实现学生管理系统源码

本文链接: https://lsjlt.com/news/124569.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python实现学生管理系统源码
    本文实例为大家分享了python实现学生管理系统的具体代码,供大家参考,具体内容如下 一.面向过程版 import os stu_list = [] def show_me...
    99+
    2024-04-02
  • 简单实现Android学生管理系统(附源码)
    本文实例讲述了Android实现学生管理系统,分享给大家供大家参考。具体如下: (1)管理系统实现的功能主要是:学生、教师的注册登录,和选课,以及修改学生的成绩等基本简单的功能...
    99+
    2022-06-06
    系统 源码 Android
  • python学生信息管理系统实现代码
    python实现学生信息管理系统,供大家参考,具体内容如下 #!/usr/bin/env python # -*- coding:utf-8 -*- import re impo...
    99+
    2024-04-02
  • python代码实现学生信息管理系统
    本文实例为大家分享了python实现学生信息管理系统的具体代码,含代码注释、增删改查、排序、统计显示学生信息,供大家参考,具体内容如下 运行如下: 具体代码如下: # _*_ co...
    99+
    2024-04-02
  • C语言实现学生管理系统的源码分享
    注意:没有用到数据库使用链表完成此系统! 多文件实现 正式开始 代码都可以直接使用 不想看的,直接复制代码块里面的内容就行! 我用的visual studio 2019  ...
    99+
    2024-04-02
  • 教你用Python实现简易版学生信息管理系统(含源码)
    一、项目分析 1、首先定义一个存放基础学生信息列表 格式:list = [{学号:姓名,年龄:num,成绩:num },{……}] student1 = [\ ...
    99+
    2024-04-02
  • Python实现学生管理系统的代码(JSON模块)
    构思 学生管理系统 应该包含老师注册登录 管理学生信息(增删改查)还有数据持久化 因为数据存入JSON文件 增删改查都需要读取和修改文件 所以需要一个读写文件的方法文件 file_m...
    99+
    2024-04-02
  • Python实现GUI学生管理系统的示例代码
    目录序 言代码解析一、登录页面二、主页面显示三 、页面显示四、查询数据五、删除数据六、修改数据七、关于部分八、数据保存,保存信息序 言 哈喽兄弟们,好久不见!最近实在太忙了,所以又双...
    99+
    2024-04-02
  • Android实现学生管理系统
    本文实例为大家分享了Android实现学生管理系统的关键性代码,供大家参考,具体内容如下 局部效果图:   实现代码: 1、布局 <?xml ver...
    99+
    2022-06-06
    学生管理系统 系统 Android
  • springboot实现学生管理系统
    本文实例为大家分享了SpringBoot实现学生管理系统,供大家参考,具体内容如下 一、创建springboot项目 点击下一步 点击下一步,选择要添加的依赖 点击下一步,...
    99+
    2024-04-02
  • C#实现学生管理系统
    本文实例为大家分享了C#实现学生管理系统的具体代码,供大家参考,具体内容如下 添加3个类,分别实现 IComparer接口,实现对Student类的三个字段的排序。 1、学生类:学号...
    99+
    2022-11-13
    C#学生管理系统 C#学生系统 C#学生管理
  • JavaWeb实现学生管理系统
    JavaWeb实现学生管理系统 一、项目介绍二、项目结构三、前期准备1.配置maven环境,在pom.xml配置文件中配置项目所依赖的jar包2.在MySql数据库中,创建登录注册表login和学生信息表student(1)登录注册...
    99+
    2023-08-16
    servlet java 数据库
  • python tkinter实现学生信息管理系统
    本文实例为大家分享了python tkinter实现学生信息管理系统的具体代码,供大家参考,具体内容如下 初学python,代码写的比较繁杂,系统功能还有完善的空间 系统使用了mys...
    99+
    2024-04-02
  • 用python实现学生信息管理系统
    用Python实现学生信息管理系统,供大家参考,具体内容如下 系统功能有: 1.录入,查找,删除,修改学生信息2.学生成绩排名3.显示全部学生信息 代码如下: filename = ...
    99+
    2024-04-02
  • python mysql实现学生成绩管理系统
    这学期在学python,感觉想写一个东西来巩固自己的基础,因为大二的时候我看过python,所以还是一共花了几个小时写了一个基于mysql的成绩管理系统,这个东西其实拿不出手,不过就...
    99+
    2024-04-02
  • C语言学生成绩管理系统源码
    本文实例为大家分享了C语言学生成绩管理系统的具体代码,供大家参考,具体内容如下 效果如下: 代码如下: #include <stdio.h> #include <...
    99+
    2024-04-02
  • C++代码实现学生信息管理系统
    本文实例为大家分享了C++实现学生信息管理系统的具体代码,供大家参考,具体内容如下 编译环境: Microsoft Visual Studio 2019 3个头文件: Fileope...
    99+
    2024-04-02
  • 学生信息管理系统 python实现(含全部代码)
    学生信息管理系统笔记python 一、需求分析 应具备的功能: 添加学生信息及成绩信息将学生信息保存在文件中修改和删除学生信息查询学生信息根据学生成绩进行排序统计学生总分 二、系统设计 学生信息管理系...
    99+
    2023-09-09
    python pycharm 开发语言
  • Python实现学生信息管理系统的示例代码
    目录前言正文一、新手小白的福利——零基础学生信息管理系统二、GUI界面化版本——Tkinter学生信息管理系统前言 夏天是用来告别的季...
    99+
    2023-02-15
    Python实现学生信息管理系统 Python学生信息管理系统 Python信息管理系统
  • 使用Python实现管理系统附源码
    目录0. 前言1. 题目要求2. 要求分析3.效果展示3.1 主界面3.2 注册界面3.3 管理员3.3.1 管理员登陆界面3.3.2 管理员——疫苗信息管理...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作