在这里插入图片描述

前言

前面我们已经学习python输入输出条件语句循环字符串列表元组字典集合以及函数,那么这篇文章,我将运用前面所学,为大家实现一个简易学员管理系统。如果大家对这些方面的知识,还没有多少了解,欢迎大家阅读我的python 学习专栏

基本思路

首先我们需要制作出来一个菜单提示用户哪些功能(增加信息删除信息修改信息查找信息显示所有学员信息),然后根据用户选择我们执行对应的功能,并且不可能执行一次操作结束程序,所以我们需要将整个操作放入循环中,当用户输入退出功能时,再退出程序

需求实现

1.实现菜单的功能

menu 函数用来实现菜单功能。

def menu():
    print('---欢迎来到学员管理系统---')
    print('-------0.退出系统-------')
    print('-------1.添加学员-------')
    print('-------2.删除学员-------')
    print('-----3.修改学员信息------')
    print('-----4.查找学员信息------')
    print('----5.显示所有学员信息----')
    print('-'*23)

在这里插入图片描述

2.提示用户输入需要进行的操作,并执行相关操作

整个操作需要放入 while 循环

while True:
    menu()  # 显示菜单
    option = int(input('请输入你要进行的操作:'))  # 提示用户输入
    if option == 0:
        exit(0)  # 这里退出程序比较简单我们不必另外使用函数
    elif option == 1:
        add_info()
    elif option == 2:
        del_info()
    elif option == 3:
        modify_info()
    elif option == 4:
        search_info()
    elif option == 5:
        print_ifo()

这里退出程序,我们可以使用 exit(0) 函数,也可以使用 break 跳出循环结束程序。然后那些增删改查显示信息的功能我们额外使用函数来实现对应功能。

3.具体函数功能的实现

增加学员信息

我们将所有学员的信息存储列表中,然后列表中的每一个数据字典的形式存储某个学员的信息。

全局变量 info = [ ] 存储所有学员信息。

这里我们设计时,不存在姓名相同的情况,所以,我们添加之前需要判断,该学员的信息是否已经存在,如果存在就不执行添加功能,如果不存在添加学员。

def add_info():
    '''
    先提示用户输入信息,然后在已有信息中查找,如果已存在结束函数,不存在添加
    :return:
    '''
    id_info = input('请输入学员学号:')
    name_info = input('请输入学员姓名:')
    tel_info = input('请输入学员电话号:')
    
    dict_info = {}  # 创建一个字典用来存放单个学员信息
    global info  # 因为需要进行增加操作,所以操作对象全局变量info
    
    for i in info:
        if i['name'] == name_info:
            print('学员信息已存在,添加失败')
            break
    else:  # 当for循环正常结束时候,表明不存在该学员,正常添加信息
        dict_info['id'] = id_info
        dict_info['name'] = name_info
        dict_info['tel'] = tel_info
        info.append(dict_info)
        print('添加成功')

在这里插入图片描述

为了查看是否添加成功,我们可以先来实现显示所有学员信息功能。

显示所有学员信息

显示所有学员信息比较简单,就是使用一个循环然后打印

def print_ifo():
    for i in info:
        print(f"学员学号:{i['id']}t学员姓名:{i['name']}t学员电话:{i['tel']}")

这里注意区别单引号双引号使用
在这里插入图片描述

删除学员信息

删除之前,我们需要判断删除的学员信息是否存在,如果不存在就结束该功能,存在则删除

def del_info():
    '''如果要删除的学员信息不存在,则结束函数,如果存在则删除'''
    name_info = input('请输入你要删除的学员信息的姓名')
    global info
    for i in info:
        if i['name'] == name_info:
            info.remove(i)
            print('删除成功')
            break  # 当删除之后可以提前结束循环
    else:
        print('该学员不存在')  # 当循环正常结束的时候,表明不存在要删除的学员的信息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

修改学员信息

修改学员信息之前,我们同样需要判断该学员信息是否存在,不存在则结束该功能,存在就修改

def modify_info():
    name_info = input('请输入你要修改的学员信息的姓名:')
    tel_info = input('请输入你要修改的学员的电话信息:')
    global info
    for i in info:
        if i['name'] == name_info:
            i['tel'] = tel_info
            print('修改成功')
            break
    else:
        print('你要修改的学员的信息不存在')

在这里插入图片描述

查询学员信息

查询到的时候输出该学员的信息,不存在则提示不存在。

def search_info():
    name_info = input('请输入你要查找的学员信息的姓名:')
    for i in info:
        if i['name'] == name_info:
            print(f"学员学号:{i['id']}t学员姓名:{i['name']}t学员电话:{i['tel']}")
            break
    else:
        print("学员信息不存在")

在这里插入图片描述

整体代码展示

info = []  # 以列表的形式存储所有学员信息,每个学员信息以字典的形式存储

def menu():
    print('---欢迎来到学员管理系统---')
    print('-------0.退出系统-------')
    print('-------1.添加学员-------')
    print('-------2.删除学员-------')
    print('-----3.修改学员信息------')
    print('-----4.查找学员信息------')
    print('----5.显示所有学员信息----')
    print('-'*23)

def add_info():
    '''
    先提示用户输入信息,然后在已有信息中查找,如果已存在则结束函数,不存在则添加
    :return:
    '''
    id_info = input('请输入学员学号:')
    name_info = input('请输入学员姓名:')
    tel_info = input('请输入学员电话号:')

    dict_info = {}
    global info
    for i in info:
        if i['name'] == name_info:
            print('学员信息已存在,添加失败')
            break
    else:
        dict_info['id'] = id_info
        dict_info['name'] = name_info
        dict_info['tel'] = tel_info
        info.append(dict_info)
        print('添加成功')

def del_info():
    '''如果要删除的学员信息不存在,则结束函数,如果存在则删除'''
    name_info = input('请输入你要删除的学员信息的姓名')
    global info
    for i in info:
        if i['name'] == name_info:
            info.remove(i)
            print('删除成功')
            break
    else:
        print('该学员不存在')

def modify_info():
    name_info = input('请输入你要修改的学员信息的姓名:')
    tel_info = input('请输入你要修改的学员的电话信息:')
    global info
    for i in info:
        if i['name'] == name_info:
            i['tel'] = tel_info
            print('修改成功')
            break
    else:
        print('你要修改的学员的信息不存在')

def search_info():
    name_info = input('请输入你要查找的学员信息的姓名:')
    for i in info:
        if i['name'] == name_info:
            print(f"学员学号:{i['id']}t学员姓名:{i['name']}t学员电话:{i['tel']}")
            break
    else:
        print("学员信息不存在")

def print_ifo():
    for i in info:
        print(f"学员学号:{i['id']}t学员姓名:{i['name']}t学员电话:{i['tel']}")



while True:
    menu()
    option = int(input('请输入你要进行的操作:'))
    if option == 0:
        exit(0)
    elif option == 1:
        add_info()
    elif option == 2:
        del_info()
    elif option == 3:
        modify_info()
    elif option == 4:
        search_info()
    elif option == 5:
        print_ifo()

在这里插入图片描述

在这里插入图片描述

原文地址:https://blog.csdn.net/m0_73888323/article/details/131594440

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_27228.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注