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

Python实现简易的学生信息管理系统

一、需求分析

本身学生信息管理系统是一个较为复杂的软件开发项目,但是我们可以从简单入手,设计一款简易的学生信息管理系统,其主要功能包括:

  1. 添加学生信息:包括学生姓名、学号、年龄、性别、出生日期、家庭住址、联系方式等。
  2. 查询学生信息:可以根据学号或姓名查询学生基本信息。
  3. 修改学生信息:可以修改学生的基本信息,如电话、地址等。
  4. 删除学生信息:可以删除学生的基本信息。

这些功能都是基于一个学生信息列表来进行实现的,所以我们需要考虑如何管理这些信息。

二、设计思路

为了管理这些学生信息,我们可以采用列表(list)来存储。每个学生信息可以用一个字典(dict)来表示,字典中包含了学生的姓名、学号、年龄、性别、出生日期、家庭住址、联系方式等信息。

在这个系统中,我们需要实现添加、查询、修改、删除等功能。因此,我们需要设计相应的函数,比如add_student()、query_student()、edit_student()、delete_student()等。

三、代码实现

以下为完整的代码实现。

# 定义一个空的学生信息列表
students = []

# 添加学生信息
def add_student():
    name = input("请输入学生姓名:")
    sid = input("请输入学生学号:")
    age = input("请输入学生年龄:")
    gender = input("请输入学生性别(男/女):")
    birthday = input("请输入学生出生日期(格式:yyyy-mm-dd):")
    address = input("请输入学生家庭住址:")
    phone = input("请输入学生联系方式:")

    # 创建一个学生信息字典
    student = {
        "name": name,
        "sid": sid,
        "age": age,
        "gender": gender,
        "birthday": birthday,
        "address": address,
        "phone": phone
    }

    # 将学生信息添加到学生信息列表中
    students.append(student)
    print("添加成功!")

# 查询学生信息
def query_student():
    keyword = input("请输入要查询的关键词(学号或姓名):")
    for student in students:
        if keyword == student['sid'] or keyword == student['name']:
            print(f"姓名:{student['name']}")
            print(f"学号:{student['sid']}")
            print(f"年龄:{student['age']}")
            print(f"性别:{student['gender']}")
            print(f"出生日期:{student['birthday']}")
            print(f"家庭住址:{student['address']}")
            print(f"联系方式:{student['phone']}")
            break
    else:
        print("没有找到相关信息!")

# 修改学生信息
def edit_student():
    sid = input("请输入要修改的学生学号:")
    for student in students:
        if sid == student['sid']:
            name = input(f"请输入{student['name']}修改后的姓名:")
            age = input(f"请输入{student['name']}修改后的年龄:")
            gender = input(f"请输入{student['name']}修改后的性别(男/女):")
            birthday = input(f"请输入{student['name']}修改后的出生日期(格式:yyyy-mm-dd):")
            address = input(f"请输入{student['name']}修改后的家庭住址:")
            phone = input(f"请输入{student['name']}修改后的联系方式:")

            student['name'] = name
            student['age'] = age
            student['gender'] = gender
            student['birthday'] = birthday
            student['address'] = address
            student['phone'] = phone

            print("修改成功!")
            break
    else:
        print("未找到该学生的信息!")

# 删除学生信息
def delete_student():
    sid = input("请输入要删除的学生学号:")
    for student in students:
        if sid == student['sid']:
            students.remove(student)
            print("删除成功!")
            break
    else:
        print("未找到该学生的信息!")

# 显示菜单
def show_menu():
    print("------学生信息管理系统------")
    print("1.添加学生信息")
    print("2.查询学生信息")
    print("3.修改学生信息")
    print("4.删除学生信息")
    print("0.退出系统")

# 主函数
def main():
    while True:
        show_menu()
        choice = int(input("请输入选项号码:"))
        if choice == 1:
            add_student()
        elif choice == 2:
            query_student()
        elif choice == 3:
            edit_student()
        elif choice == 4:
            delete_student()
        elif choice == 0:
            break
        else:
            print("选项号码输入错误,请重新输入!")

if __name__ == "__main__":
    main()

四、示例说明

  1. 添加学生信息

运行程序后,输入1选择添加学生信息,按照提示输入学生信息,如下所示:

------学生信息管理系统------
1.添加学生信息
2.查询学生信息
3.修改学生信息
4.删除学生信息
0.退出系统
请输入选项号码:1
请输入学生姓名:张三
请输入学生学号:1001
请输入学生年龄:18
请输入学生性别(男/女):男
请输入学生出生日期(格式:yyyy-mm-dd):2002-05-01
请输入学生家庭住址:北京市海淀区
请输入学生联系方式:13812345678
添加成功!
  1. 查询学生信息

运行程序后,输入2选择查询学生信息,按照提示输入要查询的关键词(学号或姓名),如下所示:

------学生信息管理系统------
1.添加学生信息
2.查询学生信息
3.修改学生信息
4.删除学生信息
0.退出系统
请输入选项号码:2
请输入要查询的关键词(学号或姓名):张三
姓名:张三
学号:1001
年龄:18
性别:男
出生日期:2002-05-01
家庭住址:北京市海淀区
联系方式:13812345678
  1. 修改学生信息

运行程序后,输入3选择修改学生信息,按照提示输入要修改的学生学号及其修改后的信息,如下所示:

------学生信息管理系统------
1.添加学生信息
2.查询学生信息
3.修改学生信息
4.删除学生信息
0.退出系统
请输入选项号码:3
请输入要修改的学生学号:1001
请输入张三修改后的姓名:李四
请输入李四修改后的年龄:19
请输入李四修改后的性别(男/女):男
请输入李四修改后的出生日期(格式:yyyy-mm-dd):2002-05-01
请输入李四修改后的家庭住址:北京市海淀区
请输入李四修改后的联系方式:13987654321
修改成功!

五、总结

Python实现简易的学生信息管理系统,主要涉及学生信息列表的管理、关键词查询、修改和删除等功能的实现。其中使用了列表和字典的相关操作,这是Python中一种非常实用的数据结构,同时也是Python常用数据类型的一种。对于初学Python的开发者来说,本项目是一份很好的练手代码,同时也有很高的实际应用价值。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python实现简易的学生信息管理系统 - Python技术站

(0)
上一篇 2023年5月30日
下一篇 2023年5月30日

相关文章

  • python浪漫表白源码

    首先,为了实现“python浪漫表白”,需要用到Python的turtle模块,该模块提供了绘制图形的接口。 以下是实现“python浪漫表白”的完整攻略: 1. 导入turtle模块 首先需要导入turtle模块,代码如下: import turtle 2. 创建画布和画笔 创建一个画布,并且设置画布的大小和背景颜色,然后创建一个画笔,代码如下: scre…

    python 2023年5月31日
    00
  • Python安装依赖(包)模块方法详解

    我来详细讲解一下Python安装依赖(包)模块方法的攻略。 什么是Python依赖包? 在Python程序中,依赖包指的是程序中需要用到的第三方库或模块,这些库或模块并不是Python自带的,需要通过pip等工具安装后才能使用。 Python安装依赖包的方法 使用pip安装 pip是Python的包管理工具,可以通过它来安装Python的依赖包。常见的安装方…

    python 2023年5月14日
    00
  • 分享python数据统计的一些小技巧

    当涉及数据统计和处理时,Python是广泛使用的编程语言之一。这里介绍一些Python中一些小技巧,可以帮助你更有效地进行数据统计和分析。 1. 使用Pandas进行数据清洗和处理 Pandas是Python中用于数据处理和分析的流行库。您可以使用它来执行各种数据操作,如排序、筛选、合并和清洗。下面是一个简单的示例,演示如何使用Pandas对数据进行清洗: …

    python 2023年6月3日
    00
  • Python3 chardet模块查看编码格式的例子

    下面开始讲解Python3 chardet模块查看编码格式的例子的完整攻略。 1. 简介 chardet是一个Python库,可用于对字符编码的自动检测。它可以检测出一个字节数组或字节流的编码格式,支持ASCII、UTF-8、UTF-16(包括UTF-16LE和UTF-16BE)、UTF-32(包括UTF-32LE和UTF-32BE)、GB18030、Big…

    python 2023年5月31日
    00
  • 加载 .pkl 文件后出现 Python 错误“ValueError:无法识别加载的数组布局”

    【问题标题】:Python error after loading .pkl file “ValueError: Did not recognise loaded array layout”加载 .pkl 文件后出现 Python 错误“ValueError:无法识别加载的数组布局” 【发布时间】:2023-04-05 01:09:01 【问题描述】: 以下…

    Python开发 2023年4月6日
    00
  • Python编写的com组件发生R6034错误的原因与解决办法

    Python编写的com组件发生R6034错误的原因与解决办法 原因 导致Python编写的com组件发生R6034错误的原因是使用到了不兼容的C++运行时库,具体来说是Python使用了某些版本的Microsoft Visual C++ Redistributable运行时库,而我们在使用该COM组件时,却在环境变量中设置了另外一个版本的运行时库,如下所示…

    python 2023年5月13日
    00
  • Python解决非线性规划中经济调度问题

    以下是关于“Python解决非线性规划中经济调度问题”的完整攻略: 简介 经济调度问题是一种常见的非线性规划问题,它涉及到如何分配有限的资源以最大化效益。在本教程中,我们将介绍如何使用Python解决经济调度问题,包括如何建立模型、如何求解模型以及如何分析结果。 经济调度问题建模 经济调度问题的目标是将有限的资源分配给不同的任务,以最大化效益。我们可以使用线…

    python 2023年5月14日
    00
  • Python实现批量压缩文件/文件夹zipfile的使用

    下面是Python实现批量压缩文件/文件夹zipfile的使用的完整攻略。 什么是zipfile zipfile是Python自带的标准库之一,用于进行ZIP文件的压缩和解压缩。我们可以使用zipfile库来打包多个文件或文件夹为单个ZIP文件,或者解压缩已经存在的ZIP文件。 安装zipfile库 由于zipfile是Python标准库之一,所以无需安装。…

    python 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部