使用Python实现学生管理系统


在本文中,我们将使用Python编程语言来开发一个简单的学生管理系统。该系统将允许用户执行基本的学生信息管理操作,如添加学生、显示所有学生、查找学生和删除学生。

1. 系统概述

我们的学生管理系统将基于控制台应用,不使用图形用户界面(GUI)。系统将使用列表(list)来存储学生信息,每个学生信息将由一个字典(dict)表示,包含学生的姓名(name)、学号(id)和成绩(score)。

2. 系统功能

  • 添加学生(Add Student):允许用户输入新学生的姓名、学号和成绩,并将其添加到学生列表中。
  • 显示所有学生(Show All Students):显示学生列表中的所有学生信息。
  • 查找学生(Find Student):允许用户通过学号查找学生信息。
  • 删除学生(Delete Student):允许用户通过学号删除学生信息。

3. 实现细节

3.1 初始化学生列表

首先,我们需要一个空的学生列表来存储学生信息。

students = []

3.2 添加学生

我们将定义一个函数add_student来添加学生信息。

def add_student():
    name = input("请输入学生姓名: ")
    id = input("请输入学生学号: ")
    score = float(input("请输入学生成绩: "))
    student = {'name': name, 'id': id, 'score': score}
    students.append(student)
    print("学生信息已添加。")

3.3 显示所有学生

接下来,我们定义一个函数show_all_students来显示所有学生的信息。

def show_all_students():
    for student in students:
        print(f"姓名: {student['name']}, 学号: {student['id']}, 成绩: {student['score']}")
    print("所有学生信息已显示。")

3.4 查找学生

我们定义一个函数find_student,它允许用户通过学号来查找学生信息。

def find_student():
    id_to_find = input("请输入要查找的学号: ")
    for student in students:
        if student['id'] == id_to_find:
            print(f"姓名: {student['name']}, 学号: {student['id']}, 成绩: {student['score']}")
            return
    print("未找到该学生。")

3.5 删除学生

最后,我们定义一个函数delete_student,它允许用户通过学号来删除学生信息。

def delete_student():
    id_to_delete = input("请输入要删除的学生学号: ")
    for i in range(len(students) - 1, -1, -1):
        if students[i]['id'] == id_to_delete:
            del students[i]
            print("学生信息已删除。")
            return
    print("未找到该学生。")

3.6 主菜单

为了使用户能够方便地选择功能,我们还需要一个主菜单函数main_menu

def main_menu():
    while True:
        print("""
        学生管理系统
        1. 添加学生
        2. 显示所有学生
        3. 查找学生
        4. 删除学生
        5. 退出
        """)
        choice = input("请选择操作: ")
        if choice == '1':
            add_student()
        elif choice == '2':
            show_all_students()
        elif choice == '3':
            find_student()
        elif choice == '4':
            delete_student()
        elif choice == '5':
            print("谢谢使用,再见!")
            break
        else:
            print("无效选择,请重新输入。")

if __name__ == "__main__":
    main_menu()

4. 运行系统

现在,你可以运行这个Python脚本,并根据提示进行操作。你可以添加一些学生信息,然后显示、查找或删除它们。

使用Python实现学生管理系统可以通过以下步骤进行: 1. 设计数据库结构:确定需要存储的学生信息,例如学号、姓名、年龄、性别等,并创建相应的数据库表。 2. 创建连接数据库的函数:使用Python的数据库模块(如MySQLdb、pymysql等)连接数据库,并返回连接对象。 3. 创建学生信息录入函数:通过用户输入学生信息,将信息插入到数据库中的学生表中。 4. 创建学生信息查询函数:根据学号或姓名等条件,从数据库中查询学生信息,并返回查询结果。 5. 创建学生信息修改函数:根据学号或姓名等条件,从数据库中查询学生信息,并提供修改选项,将修改后的信息更新到数据库中。 6. 创建学生信息删除函数:根据学号或姓名等条件,从数据库中删除学生信息。 7. 创建学生信息统计函数:统计数据库中学生的总人数、男女比例等信息。 8. 创建学生管理系统主函数:在主函数中,通过调用以上各个函数,实现学生管理系统的整体功能。 以下是一个简单的示例代码,用于演示如何使用Python实现学生管理系统: ```python import pymysql # 连接数据库 def connect_db(): conn = pymysql.connect(host='localhost', user='root', password='123456', database='student_db') return conn # 学生信息录入 def add_student(): conn = connect_db() cursor = conn.cursor() # 获取用户输入的学生信息 student_id = input("请输入学号:") name = input("请输入姓名:") age = input("请输入年龄:") gender = input("请输入性别:") # 将学生信息插入数据库 sql = "INSERT INTO student (student_id, name, age, gender) VALUES (%s, %s, %s, %s)" cursor.execute(sql, (student_id, name, age, gender)) conn.commit() print("学生信息录入成功!") cursor.close() conn.close() # 学生信息查询 def search_student(): conn = connect_db() cursor = conn.cursor() # 获取用户输入的查询条件 condition = input("请输入查询条件(学号或姓名):") # 根据查询条件从数据库中查询学生信息 sql = "SELECT * FROM student WHERE student_id = %s OR name = %s" cursor.execute(sql, (condition, condition)) result = cursor.fetchall() # 打印查询结果 for row in result: print("学号:", row[0]) print("姓名:", row[1]) print("年龄:", row[2]) print("性别:", row[3]) print("--") cursor.close() conn.close() # 学生信息修改 def update_student(): conn = connect_db() cursor = conn.cursor() # 获取用户输入的修改条件 condition = input("请输入修改条件(学号或姓名):") # 根据修改条件从数据库中查询学生信息 sql = "SELECT * FROM student WHERE student_id = %s OR name = %s" cursor.execute(sql, (condition, condition)) result = cursor.fetchall() # 打印查询结果 for row in result: print("学号:", row[0]) print("姓名:", row[1]) print("年龄:", row[2]) print("性别:", row[3]) print("--") # 获取用户输入的修改信息 student_id = input("请输入学号:") name = input("请输入姓名:") age = input("请输入年龄:") gender = input("请输入性别:") # 将修改后的信息更新到数据库中 sql = "UPDATE student SET student_id = %s, name = %s, age = %s, gender = %s WHERE student_id = %s OR name = %s" cursor.execute(sql, (student_id, name, age, gender, condition, condition)) conn.commit() print("学生信息修改成功!") cursor.close() conn.close() # 学生信息删除 def delete_student(): conn = connect_db() cursor = conn.cursor() # 获取用户输入的删除条件 condition = input("请输入删除条件(学号或姓名):") # 根据删除条件从数据库中删除学生信息 sql = "DELETE FROM student WHERE student_id = %s OR name = %s" cursor.execute(sql, (condition, condition)) conn.commit() print("学生信息删除成功!") cursor.close() conn.close() # 学生信息统计 def count_student(): conn = connect_db() cursor = conn.cursor() # 统计学生总人数 sql = "SELECT COUNT(*) FROM student" cursor.execute(sql) result = cursor.fetchone() total = result[0] # 统计男女比例 sql = "SELECT COUNT(*) FROM student WHERE gender = '男'" cursor.execute(sql) result = cursor.fetchone() male_count = result[0] sql = "SELECT COUNT(*) FROM student WHERE gender = '女'" cursor.execute(sql) result = cursor.fetchone() female_count = result[0] print("学生总人数:", total) print("男生人数:", male_count) print("女生人数:", female_count) cursor.close() conn.close() # 学生管理系统主函数 def student_management_system(): while True: print("1. 学生信息录入") print("2. 学生信息查询") print("3. 学生信息修改") print("4. 学生信息删除") print("5. 学生信息统计") print("0. 退出系统") choice = input("请输入操作编号:") if choice == '1': add_student() elif choice == '2': search_student() elif choice == '3': update_student() elif choice == '4': delete_student() elif choice == '5': count_student() elif choice == '0': break else: print("输入有误,请重新输入!") # 调用学生管理系统主函数 student_management_system() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aaron_945

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值