python实现学生管理系统源码

本文实例为大家分享了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('........回车键继续操作........')

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

(0)

相关推荐

  • python实现学生信息管理系统

    继上篇博客Python实现简易通讯录后,我就想写一个复杂点的学生信息管理系统,这次实现的功能有 1.学生信息的录入管理: 2.学生选课操作: 3.学生选课情况查询: 这次仍然用到sqlite3模块.虽然看着挺简单,但是也踩了不少坑,毕竟刚开始实战,有些细节的还需要多多磨炼啊! 好了,废话不多说,直接上代码,欢迎感兴趣的朋友私信讨论~~~ #-*- coding:utf-8 -*- import sqlite3 #打开本地数据库用于存储用户信息 conn = sqlite3.connect('st

  • Python实现GUI学生信息管理系统

    本文实例为大家分享了Python实现GUI学生信息管理系统的具体代码,供大家参考,具体内容如下 项目环境:  软件环境: OS:RedHat6.3                   Lib:Pygtk                   Language:Python                   Support tool:Glade3 项目简述: ①Glade3设计用户的登录窗口,功能主窗口 ②通过Gtk.Builder初始化,载入界面 ③在Mysql.py文件中实现Python操作数

  • python版学生管理系统

    写一个学生管理系统,最好用python. 我都没学过python呢,只好开始临时抱佛脚,再到网上找找有没有例子看看,下面是我参照另一个博主写的,中间有一些和我不能融合的错误,我已经解决了. input("\n\nPress the enter key to exit.") def functionList(): # 定义功能菜单 print("---------请输入序号选择您要得功能---------") print("") print(&qu

  • Python实现学生成绩管理系统

    本文实例为大家分享了Python实现学生成绩管理系统的具体代码,供大家参考,具体内容如下 基本功能: 输入并存储学生的信息:通过输入学生的学号.姓名.和分数,然后就可以把数据保存在建立的student文件里面. 打印学生的所有信息:通过一个打印函数就可以把所有的信息打印在屏幕上. 修改学生信息:这个功能首先通过查询功能查询出该学生是否存在,如果存在就对该学生的信息进行修改,如果不存在则返回到主界面. 删除学生信息:该功能是对相应的学生进行删除操作,如果学生存在就查找到进行删除. 按学生成绩进行排

  • python学生管理系统代码实现

    本文实例为大家分享了python学生管理系统的具体代码,供大家参考,具体内容如下 类 class Student: stuID = "" name = "" sex = "M" classID = "NULL" #set ID def setStuID(self,stuID): self.stuID = stuID def setName(self,name): self.name = name def setSex(self

  • python实现简易学生信息管理系统

    本文实例为大家分享了python实现学生信息管理系统的具体代码,供大家参考,具体内容如下 简易学生信息管理系统主要功能有 1 录入学生信息 2 查找学生信息 3 删除学生信息 4 修改学生信息 5 排序 6 统计学生总人数 7 显示所有学生信息 0 退出系统 系统运行效果 主菜单的代码方法: # Author: dry # 开发时间:2019/9/11 # 开发工具:PyCharm import re # 导入正则表达式模块 import os # 导入操作系统模块 filename = "st

  • python学生信息管理系统

    本文实例为大家分享了python学生信息管理系统的具体代码,供大家参考,具体内容如下 #编译环境为python3 #学生信息管理系统包括基本的信息功能,能够实现学生信息的输入,查询,增添和删除 #基本框架:开始操作菜单,接收输入选项,调用相应的函数实现对应的功能,循环回到开始菜单, #操作菜单: student = [] def studentMeau(): print('-'*30) print('-------学生信息管理系统-------') print(' 1.添加学生信息') prin

  • Python学生成绩管理系统简洁版

    讲起学生成绩管理系统,从大一C语言的课程设计开始,到大二的C++课程设计都是这个题,最近在学树莓派,好像树莓派常用Python编程,于是学了一波Python,看了一点基本的语法想写点东西练下手. 开发环境:Ubuntu+Python2.7 代码如下: #coding=utf-8 #保存学生信息 studentList=[] def addInfo(name,addr): tempInfo={} tempInfo['name']=name tempInfo['addr']=addr student

  • python实现学生管理系统

    python写的简单的学生管理系统,练习python语法. 可以运行在windows和linux下,python 2.7. #!/usr/local/bin/python # -*- coding:utf-8 -*- import os import re #定义学生类 class Student: def __init__(self): self.name = '' self.ID = '' self.score = 0 #根据学生分数进行从大到小的冒泡排序 def BuddleSortByS

  • python学生信息管理系统(完整版)

    本文是基于上一篇(python项目:学生信息管理系统(初版) )进行了完善,并添加了新的功能. 主要包括有: 完善部分:输入错误:无数据查询等异常错误 新的功能:文件的操作:文件的读写,其中重点是对文本字符串的详细解析(关于整个解析拆解和重组详见代码,以及添加了注释) 学生信息管理系统(完整版) 学生信息管理项目,要求带操作界面,并完成每项操作: +----------------------+ | 1)添加学生信息 | | 2)显示所有学生的信息 | | 3)删除学生信息 | | 4)修改学生

随机推荐