前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python基于集合列表实现的学生管理系统增删改查功能

python基于集合列表实现的学生管理系统增删改查功能

原创
作者头像
菜菜有点菜
发布2024-04-14 22:24:54
1610
发布2024-04-14 22:24:54
举报
文章被收录于专栏:白菜博客白菜博客

前言

这是一个python基于集合列表实现的学生管理系统增删改查功能期中考试的作业,大家有需要可以自取。自己改改 增删改查函数里边的内容即可~~~

不罗嗦,直接上最终实现的效果

本篇文章为基础文章,大佬可以直接略过!!!避免浪费时间哈!~~~

效果

登录系统

相关代码:

代码语言:python
代码运行次数:0
复制
u = "admin"
p = "123456"
.....
if input("账号:") == u and input("密码:") == p:

这个就是简单的判断以下输入的账号密码是否与我们系统定义的代码相同。

以下操作以小白为例。

生成模拟数据,并添加到列表

代码语言:javascript
复制
students = []   # 用于存放学生对象
代码语言:python
代码运行次数:0
复制
def initdata():
    for x in range(1, 10):
        name = f"老{x}"
        sex = ""
        if x % 2 == 0:
            sex = "男"
        else:
            sex = "女"
        age = randint(18, 25)
        student = {"姓名": name, "性别": sex, "年龄": age}
        students.append(student)

以上代码未来方便测试系统的各种用例,所以我用for循环生成了十个默认用户信息

添加

相关代码

代码语言:python
代码运行次数:0
复制
def add_student():
    name = input("请输入姓名: ")
    age = input("请输入年龄: ")
    gender = input("请输入性别: ")
    student = {"姓名": name, "年龄": age, "性别": gender}
    students.append(student)
    print("成功")

这里我们调用了append()方法,将学生对象存入了列表里边。

修改

相关代码

代码语言:python
代码运行次数:0
复制
def modify_student():
    name = input("请输入要修改姓名: ")
    for student in students:
        if student["姓名"] == name:
            print("1. 修改姓名")
            print("2. 修改年龄")
            print("3. 修改性别")
            menu = input("请选择要修改: ")
            if menu == "1":
                new_name = input("请输入新姓名: ")
                student["姓名"] = new_name
            elif menu == "2":
                new_age = input("请输入新年龄: ")
                student["年龄"] = new_age
            elif menu == "3":
                new_gender = input("请输入新性别: ")
                student["性别"] = new_gender
            print("成功")
            return
    print("未找到")

这个代码,使用了for迭代students列表里边的每一个学生对象,并通过student["姓名"]取出指定对象的值与我们查找的学生name进行匹配,如果匹配那么进入修改选项,

这里的修改思路,说白了就是重新赋值字典键值对。

查询

相关代码:

代码语言:python
代码运行次数:0
复制
def search_student():
    name = input("请输入姓名: ")
    for student in students:
        if student["姓名"] == name:
            print("姓名:", student["姓名"])
            print("年龄:", student["年龄"])
            print("性别:", student["性别"])
            return
    print("未找到")

这个思路与,修改信息的思路一致。

首先遍历列表每一个学生对象,并通过键名取出字典的值。进行判断。。。。如果成立那么直接通过student键名取出值。

代码语言:md
复制
可以把迭代因子student看作为:{'姓名': '小白', '年龄': '18', '性别': '男'}

student = {'姓名': '小白', '年龄': '18', '性别': '男'}
student["姓名"]得到小白  就是键值对取值嘛

删除

上代码:

代码语言:python
代码运行次数:0
复制
def delete_student():
    name = input("请输入要删除姓名: ")
    for student in students:
        if student["姓名"] == name:
            students.remove(student)
            print("成功")
            return
    print("未找到")

判断思路与上面的一致。

这里使用了remove()函数,直接将对象移出列表

还有一个clean() 可以用来实现,一键删除所有学生。的功能。

退出

代码语言:python
代码运行次数:0
复制
elif menu == "5":
    print("安全退出")
    break

直接break就行。。。

完整项目代码

代码语言:python
代码运行次数:0
复制
# Cat00011cat
# http://thecat.top
# 管理系统
from random import randint

students = []

u = "admin"
p = "123456"


def initdata():
    for x in range(1, 10):
        name = f"老{x}"
        sex = ""
        if x % 2 == 0:
            sex = "男"
        else:
            sex = "女"
        age = randint(18, 25)
        student = {"姓名": name, "性别": sex, "年龄": age}
        students.append(student)


def add_student():
    name = input("请输入姓名: ")
    age = input("请输入年龄: ")
    gender = input("请输入性别: ")
    student = {"姓名": name, "年龄": age, "性别": gender}
    students.append(student)
    print("成功")


def delete_student():
    name = input("请输入要删除姓名: ")
    for student in students:
        if student["姓名"] == name:
            students.remove(student)
            print("成功")
            return
    print("未找到")


def modify_student():
    name = input("请输入要修改姓名: ")
    for student in students:
        if student["姓名"] == name:
            print("1. 修改姓名")
            print("2. 修改年龄")
            print("3. 修改性别")
            menu = input("请选择要修改: ")
            if menu == "1":
                new_name = input("请输入新姓名: ")
                student["姓名"] = new_name
            elif menu == "2":
                new_age = input("请输入新年龄: ")
                student["年龄"] = new_age
            elif menu == "3":
                new_gender = input("请输入新性别: ")
                student["性别"] = new_gender
            print("成功")
            return
    print("未找到")


def search_student():
    name = input("请输入姓名: ")
    for student in students:
        if student["姓名"] == name:
            print("姓名:", student["姓名"])
            print("年龄:", student["年龄"])
            print("性别:", student["性别"])
            return
    print("未找到")


def main():
    while True:
        print("\n"+"="*10+"未命名系统"+"="*10)
        print(f"登录成功,欢迎 {u} ")
        print("1. 添加")
        print("2. 删除")
        print("3. 修改")
        print("4. 查询")
        print("5. 退出")
        for stu in students:
            print(stu)
        menu = input("请选择: ")
        if menu == "1":
            add_student()
        elif menu == "2":
            delete_student()
        elif menu == "3":
            modify_student()
        elif menu == "4":
            search_student()
        elif menu == "5":
            print("安全退出")
            break
        else:
            print("搞什么飞机~~~")


if __name__ == "__main__":
    print("登录系统管理系统")
    if input("账号:") == u and input("密码:") == p:
        initdata()
        students.append({"姓名": "白菜", "性别": "男", "年龄": 18})
        main()
    else:
        print("账号或密码错误")

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 效果
    • 登录系统
      • 生成模拟数据,并添加到列表
        • 添加
          • 修改
            • 查询
              • 删除
                • 退出
                • 完整项目代码
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档