≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 网络编程 > Python

Python之学生管理系统源码

人气:294 时间:2021-06-10

这篇文章主要为大家详细介绍了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()

python实现学生管理系统源码

二.面向对象版

 

1.工程文件

 

 

2.main.py

 

代码如下:


import student_manage_sysytem as sms

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

python实现学生管理系统源码

 

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}"

python实现学生管理系统源码

 

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('........回车键继续操作........')

python实现学生管理系统源码

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

本文来自:http://www.q1010.com/181/19092-0.html

注:关于Python之学生管理系统源码的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:python

您可能感兴趣的文章

  • Python之进行基准测试的简单示例
  • Python之文本常量与字符串模板的简单示例
  • Python之简单的名片管理系统的简单示例
  • Python之简单的名片管理系统的实现方法
  • Python之康威生命游戏的简单示例
  • Python之pytorch中的nn.Sequential(*net[3: 5])是啥意思
  • Python之文本滚动播放器的简单示例
  • Python之爬虫基础requestes模块的简单示例
  • Python之做代码性能分析的简单示例
  • Python之字符串对齐方法使用(ljust()、rjust()和center())的简单示例
上一篇:Python之21点小游戏的简单示例
下一篇:Python之文本滚动播放器的简单示例
热门文章
  • Python 处理Cookie的菜鸟教程(一)Cookie库
  • python之pandas取dataframe特定行列的简单示例
  • Python解决json.dumps错误::‘utf8’ codec can‘t decode byte
  • Python通过pythony连接Hive执行Hql的脚本
  • Python 三种方法删除列表中重复元素的简单示例
  • python爬虫代码示例
  • Python 中英文标点转换示例
  • Python 不得不知的开源项目解析
  • Python urlencode编码和url拼接实现方法
  • python按中文拆分中英文混合字符串的简单示例
  • 最新文章
    • Python利用numpy三层神经网络的简单示例
    • pygame可视化幸运大转盘的简单示例
    • Python爬虫之爬取二手房信息的简单示例
    • Python之time库的简单示例
    • OpenCV灰度、高斯模糊、边缘检测的简单示例
    • Python安装Bs4及使用的简单示例
    • django自定义manage.py管理命令的简单示例
    • Python之matplotlib 向任意位置添加一个子图(axes)的简单示例
    • Python图像标签标注软件labelme分析的简单示例
    • python调用摄像头并拍照发邮箱的简单示例

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。