利用Python实现学生信息管理系统的完整实例

利用Python实现学生信息管理系统的完整实例攻略

1. 设计思路

学生信息管理系统需要进行以下操作:
- 添加学生信息
- 删除学生信息
- 修改学生信息
- 查询学生信息

基于以上需求,我们可以设计一个包含以下字典信息的学生信息记录数据结构:

student = {'name': 'xxx', 'age': 20, 'gender': 'male', 'id': '001'}

使用列表将学生记录存储:

students_list = [
    {'name': 'xxx', 'age': 20, 'gender': 'male', 'id': '001'},
    {'name': 'yyy', 'age': 21, 'gender': 'female', 'id': '002'},
    {'name': 'zzz', 'age': 19, 'gender': 'male', 'id': '003'}
]

针对以上需求,我们可以设计主函数如下:

def main():
    while True:
        menu()
        choice = int(input('请选择操作:'))
        if choice == 1:
            add_student()
        elif choice == 2:
            delete_student()
        elif choice == 3:
            modify_student()
        elif choice == 4:
            search_student()
        else:
            print('无效操作,请重新选择!')

menu()函数用于输出操作选项:

def menu():
    print('学生信息管理系统菜单')
    print('1. 添加学生信息')
    print('2. 删除学生信息')
    print('3. 修改学生信息')
    print('4. 查询学生信息')

接下来详细讲解每个操作的实现过程。

2. 添加学生信息

添加操作需要用户输入学生的基本信息,我们可以根据固定的字典元素键值进行输入校验,确保输入信息合法:

def add_student():
    student = {}
    student['name'] = input('请输入学生姓名:')
    while True:
        try:
            student['age'] = int(input('请输入学生年龄:'))
            break
        except Exception:
            print('年龄输入有误,请重新输入!')
    student['gender'] = input('请输入学生性别:')
    student['id'] = input('请输入学生ID:')
    students_list.append(student)
    print('添加成功!')

3. 删除学生信息

删除操作需要查找学生信息,定位学生所在列表序号,调用list.remove()方法删除对应学生记录:

def delete_student():
    student_id = input('请输入要删除学生的ID:')
    for student in students_list:
        if student['id'] == student_id:
            students_list.remove(student)
            print('删除成功!')
            break
    else:
        print('未找到指定学生信息!')

4. 修改学生信息

修改操作需要查找学生信息,定位学生所在列表序号,允许用户修改对应学生信息:

def modify_student():
    student_id = input('请输入要修改学生的ID:')
    for student in students_list:
        if student['id'] == student_id:
            student['name'] = input('请输入学生姓名:')
            while True:
                try:
                    student['age'] = int(input('请输入学生年龄:'))
                    break
                except Exception:
                    print('年龄输入有误,请重新输入!')
            student['gender'] = input('请输入学生性别:')
            print('修改成功!')
            break
    else:
        print('未找到指定学生信息!')

5. 查询学生信息

查询操作需要用户输入查询条件,根据条件遍历学生信息列表输出满足条件的学生信息。
我们可以设计一个search_students()函数用于返回查询结果列表,统一处理输出:

def search_students(condition):
    result_list = []
    for student in students_list:
        if condition in student.values():
            result_list.append(student)
    return result_list

根据用户输入关键字调用查询函数并输出查询结果:

def search_student():
    print('查询学生信息')
    print('1. 按姓名查询')
    print('2. 按年龄查询')
    print('3. 按性别查询')
    print('4. 按ID查询')
    choice = int(input('请选择查询条件:'))
    if choice == 1:
        search_condition = input('请输入查询关键字:')
        result_list = search_students(search_condition)
    elif choice == 2:
        while True:
            try:
                search_condition = int(input('请输入查询关键字:'))
                break
            except Exception:
                print('年龄输入有误,请重新输入!')
        result_list = search_students(search_condition)
    elif choice == 3:
        search_condition = input('请输入查询关键字:')
        result_list = search_students(search_condition)
    elif choice == 4:
        search_condition = input('请输入查询关键字:')
        result_list = search_students(search_condition)
    else:
        print('无效操作,请重新选择!')
        return
    for student in result_list:
        print(f"姓名:{student['name']} 年龄:{student['age']} 性别:{student['gender']} ID:{student['id']}")

6. 示例应用

示例1:添加学生信息

请选择操作:1
请输入学生姓名:小明
请输入学生年龄:20
请输入学生性别:男
请输入学生ID:001
添加成功!

示例2:查询学生信息

请选择操作:4
查询学生信息
1. 按姓名查询
2. 按年龄查询
3. 按性别查询
4. 按ID查询
请选择查询条件:2
请输入查询关键字:20
姓名:小明 年龄:20 性别:男 ID:001

以上就是利用Python实现学生信息管理系统的完整实例攻略,希望能给大家带来参考和帮助。

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

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

相关文章

  • 在字典中对 Python 字典进行排序

    【问题标题】:Sort a Python dictionary within a dictionary在字典中对 Python 字典进行排序 【发布时间】:2023-04-05 19:56:01 【问题描述】: 我正在尝试对字典中的字典进行排序。我的目标是根据它的值从高到低对“子”字典 [‘extra’] 进行排序。我遇到的问题是我的“子”字典嵌套在主字典的…

    Python开发 2023年4月6日
    00
  • python对两个数组进行合并排列处理的两种方法

    我来详细讲解一下“Python对两个数组进行合并排列处理的两种方法”。 方法一:使用内置函数sorted() 使用Python内置函数sorted()可以进行对两个数组进行合并排列处理。具体步骤如下: 首先将两个数组合并为一个新的数组用 ‘+’ 号连接。 对新的数组使用sorted()函数进行排序,得到排列后的新数组。 示例: a = [12, 5, 6, …

    python 2023年6月6日
    00
  • python 实现list或string按指定分段

    以下是详细讲解“Python实现List或String按指定分段”的完整攻略。 在Python中,可以使用切片来对List或String进行分段。本文将绍如何按指定大小对List或String进行分段,并提供一些示例说明。 按指定大小对List进行分段 可以使用切片来对List进行分段。例如,要将List按大小为3的段进行分割,可以使用如下代码: lst =…

    python 2023年5月13日
    00
  • 详解如何使用Python网络爬虫获取招聘信息

    详解如何使用Python网络爬虫获取招聘信息 1. 概述 网络爬虫是一种自动化工具,可以用来从网站上获取数据,将网站的内容爬取下来,实现数据的自动采集。Python语言拥有众多网络爬虫库,如Requests, BeautifulSoup, Scrapy等。本文将详细介绍如何使用Python网络爬虫获取招聘信息。 2. 网络爬虫获取招聘信息的步骤 使用Pyth…

    python 2023年5月14日
    00
  • Python中的元组(Tuple)操作实例详解

    Python中的元组(Tuple)操作实例详解 元组是Python中的一种不可变有序序列类型,可以将一组数据进行封装,使其成为一个整体单元。本篇攻略将详细介绍元组在Python中的创建、修改、遍历和删除等操作。 创建元组 可以使用()或tuple()构造函数来创建元组,例如: tup1 = (1, 2, 3) tup2 = tuple(‘hello’) 其中…

    python 2023年5月13日
    00
  • Python内存泄漏和内存溢出的解决方案

    以下是“Python内存泄漏和内存溢出的解决方案”的完整攻略,其中包括了内存泄漏和内存溢出的定义、解决方案、示例以及常见问题解决方法。 Python内存泄漏和内存溢出的解决方案 内存泄漏和内存溢出的定义 内存泄漏和内存溢出是两个常见的内存问题。内存泄漏指的是程序中存在一些不再使用的内存,但这些内存没有被释放,导致内存占用不断增加内存溢出指的是程序中使用的内存…

    python 2023年5月13日
    00
  • 用Python逐行分析文件方法

    当需要分析一个大文件时,通常我们无法一次加载到内存中进行处理。而逐行分析文件则可以解决这个问题。在Python中,逐行读取文件有多种方法。本文将着重介绍用Python逐行分析文件的完整攻略。 1. 逐行读取文件 Python的文件对象提供了一个readline()方法,通过它可以逐行读取文件,直到文件末尾。以下是示例: with open(‘file.txt…

    python 2023年6月5日
    00
  • 手把手教你用322行Python代码编写贪吃蛇游戏

    《手把手教你用322行Python代码编写贪吃蛇游戏》是一篇非常详细的Python游戏开发教程。下面我会对这篇教程的内容进行详细讲解。 简介部分 这一部分对课程内容进行了简单的介绍,包括学习目标、教学方法、前置知识和课程大纲。 准备工作 这一部分主要介绍了编写Python贪吃蛇游戏所需要的软件环境和配置,在这个过程中,作者使用了Visual Studio C…

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