基于python的学员管理系统字典版

# 晚上把学员管理系统升级到2.0版本
# 数据存储结构如下:
'''
    # 大列表中嵌套小列表,小列表中存储一个学员的完整信息
    student_list = [['张三','22','','110'],['李四','22','','110'],['王五','22','','110']]
    # 例如要取出张三这个学员的信息
    # 1.取出张三这个学员的小列表
    student1 = student_list[0]
    # 2.再从小列表中根据索引取出姓名、年龄、性别、电话
    name = student1[0]
    age = student1[1]
    sex = student1[2]
    phone = student1[3]
'''

# 封装判断选择学员序号是否存在

# def get_index():
#     index = input('请选择要修改的学员序号')
#     index = int(index)
#     while index not in range(0,len(student_list)):
#         index = input('选择学员序号不存在,请重选:')
#         index = int(index)
#     return index

import os


# def read_data():
#     # 判断文件是否存在,如果存在 在做打开文件的操作
#     # 如果文件存在返回True  不存在 返回False
#     rs = os.path.exists('student_2.txt')
#     if rs == True:
#         file_handle = open('student_2.txt', mode='r')
#         contents = file_handle.readlines()
#         for msg in contents:
#             msg = msg.strip('\n')
#             list_1 = msg.split(' ')
#             list_1.pop()
#             student_list.append(list_1)
#         file_handle.close()


student_list = []
student_dict = {}
# read_data()


# def save_data():
#     file_handle = open('student_2.txt', 'w')
#     for student in student_list:
#         # join()把列表中的数据用 空格分开并拼接为一个字符串
#         s = ' '.join(student)
#         # 写入
#         file_handle.write(s)
#         file_handle.write('\n')
#     file_handle.close()


def add():
    print('~~~~~~~~~~~~~~~~~~~~')
    name = input('请输入学员姓名:')
    age = input('请输入学员年龄:')
    sex = input('请输入学员性别:')
    phone = input('请输入学员电话:')
    print('~~~~~~~~~~~~~~~~~~~~')
    student_dict['学员姓名'] = name
    student_dict['学员年龄'] = age
    student_dict['学员性别'] = sex
    student_dict['学员电话'] = phone
    student_list.append(student_dict)

    # save_data()


def change():
    # 判断是否有学员信息 ,如果没有,直接结束函数执行
    if len(student_list) == 0:
        print('没有学员数据,无法修改')

        # 强制结束函数的执行
        return

    for x in range(0, len(student_list)):
        student_dict = student_list[x]
        name = student_dict['学员姓名']
        age = student_dict['学员年龄']
        sex = student_dict['学员性别']
        phone = student_dict['学员电话']
        print('%s. 姓名:%s, 年龄:%s, 性别:%s, 电话:%s' % (x, name, age, sex, phone))
    print('~~~~~~~~~~~~~~~~~~~~')
    index = input('请输入您要修改的学生的编号:')
    index = int(index)
    while index not in range(0, len(student_list)):
        print('~~~~~~~~~~~~~~~~~~~~')
        index = input('请输入正确的编号:')
        index = int(index)
    new_name = input('请输入您要修改学生的姓名:')
    new_age = input('请输入您要修改学生的年龄:')
    new_sex = input('请输入您要修改学生的性别:')
    new_phone = input('请输入您要修改学生的电话:')
    student_dict['学员姓名:'] = new_name
    student_dict['学员年龄:'] = new_age
    student_dict['学员性别:'] = new_sex
    student_dict['学员电话:'] = new_phone
    student_list.append(student_dict)

    # save_data()


def search():
    print('1.用姓名查询')
    print('2.用学号查询')
    print('3.查询全部学生')
    choose = input('请选择您的操作:')
    choose = int(choose)
    while choose not in range(1, 4):
        choose = input('请选择正确的编号')
        choose = int(choose)

    if choose == 1:
        while True:
            search_name = input('请输入您要查询学生的姓名:')
            exist = False
            for x in range(0, len(student_list)):
                student_dict = student_list[x]
                name = student_dict['学员姓名']
                age = student_dict['学员年龄']
                sex = student_dict['学员性别']
                phone = student_dict['学员电话']
                if search_name == name:
                    exist = True
                    print('%s. 姓名:%s, 年龄:%s, 性别:%s, 电话:%s' % (x, name, age, sex, phone))
            if exist == False:
                print('姓名不存在,请输入正确的姓名')
            else:
                break


    elif choose == 2:
        search_num = input('请输入您要查询的学生的编号:')
        search_num = int(search_num)
        while search_num not in range(0, len(student_list)):
            search_num = input('请输入正确的编号')
            search_num = int(search_num)
        student_dict = student_list[search_num]
        name = student_dict['学员姓名']
        age = student_dict['学员年龄']
        sex = student_dict['学员性别']
        phone = student_dict['学员电话']
        print('%s. 姓名:%s, 年龄:%s, 性别:%s, 电话:%s' % (search_num, name, age, sex, phone))

    else:
        for x in range(0, len(student_list)):
            student_dict = student_list[x]
            name = student_dict['学员姓名']
            age = student_dict['学员年龄']
            sex = student_dict['学员性别']
            phone = student_dict['学员电话']
            print('%s. 姓名:%s, 年龄:%s, 性别:%s, 电话:%s' % (x, name, age, sex, phone))


def delete():
    print('~~~~~~~~~~~~~~~~~~~~')
    print('1.根据学员学号删除')
    print('2.根据学员姓名删除')
    print('3.删除所有学员')
    search_num = input('请输入您的操作:')
    search_num = int(search_num)
    while search_num not in range(1, 4):
        search_num = input('请输入正确的编号')
        search_num = int(search_num)

    if search_num == 1:
        # 判断是否有学员信息 ,如果没有,直接结束函数执行
        if len(student_list) == 0:
            print('没有学员数据,无法修改')

            # 强制结束函数的执行
            return
        index = input('请输入您要删除学生的编号:')
        index = int(index)
        while index not in range(0, len(student_list)):
            print('~~~~~~~~~~~~~~~~~~~~')
            index = input('请输入正确的学生编号')
            index = int(index)
        del student_list[index]

        # save_data()

    if search_num == 2:
        del_name = input('请输入您要删除学生的姓名:')
        exist = False
        for x in range(0, len(student_list)):
            student_dict = student_list[x]
            name = student_dict['学生姓名']
            if del_name == name:
                exist = True
                del student_list[x]
                print('删除成功')
        if exist == False:
            print('~~~~~~~~~~~~~~~~~~~')
            print('姓名不存在,请重新删除')

        # save_data()

    if search_num == 3:
        rs = input('确认删除所有信息?Y(确定)/N(取消)')
        if rs == 'Y':
            student_list.clear()
        else:
            print('删除数据操作已取消')

        # save_data()



while True:
    print('~~~~~~~~~~~~~~~~~~~~')
    print('1.添加学员')
    print('2.修改学员')
    print('3.查询学员')
    print('4.删除学员')
    print('0.退出程序')
    print('~~~~~~~~~~~~~~~~~~~~')
    num = input('请选择您的操作:')
    num = int(num)
    while num not in range(0, 5):
        num = input('请输入正确的选项:')
        num = int(num)
    if num == 1:
        add()
    elif num == 2:
        change()
    elif num == 3:
        search()
    elif num == 4:
        delete()
    else:
        break


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值