参赛队伍信息管理

该代码实现了一个简单的参赛队伍信息管理系统,包括从txt文件读取和写入队伍信息,支持添加、删除、修改和显示所有队伍信息的功能。用户通过交互式菜单进行操作,数据以编号、作品名称、学校、类别、成员和指导老师等字段存储。
摘要由CSDN通过智能技术生成
 # 参赛队伍信息管理
teams = []   # 存放队伍信息


def read():  # 从txt文件中读取队伍信息,并使用append函数,将信息加入teams中
    with open('teams.txt', 'r', encoding='utf-8') as file:
        i = 0
        for line in file.readlines():
            if i > 0:
                info = line.split(',')
                info = [i.replace("\n", "") for i in info]
                teams.append({
                    'id': int(info[0]),
                    'name': info[1],
                    'school': info[2],
                    'category': info[3],
                    'members': info[4],
                    'adviser': info[5]
                })
            i += 1


def write():  # 将teams中的队伍信息一个个写入文件
    with open('teams.txt', 'w', encoding='utf-8') as file:
        file.write('参赛队编号,参赛作品名称,参赛学校,赛事类别,参赛者,指导老师' + '\n')
        for team in teams:
            file.write(
                str(team['id']) + ',' +
                team['name'] + ',' +
                team['school'] + ',' +
                team['category'] + ',' +
                team['members'] + ',' +
                team['adviser'] + '\n')


def add_team():  # 添加参赛队伍信息
    team = {}
    team['id'] = int(input('请输入参赛队编号:'))
    team['name'] = input('请输入参赛作品名称:')
    team['school'] = input('请输入参赛学校:')
    team['category'] = input('请输入赛事类别:')
    team['members'] = input('请输入参赛者姓名:')
    team['adviser'] = input('请输入指导老师姓名:')
    teams.append(team)
    return teams


def remove_team():   # 移除参赛队伍信息
    team_id = int(input('请输入要删除的参赛队编号:'))
    for i in range(len(teams)):
        if teams[i]['id'] == team_id:
            del teams[i]
            print('删除成功!')
            break
    else:
        print('没有找到该参赛队,请确认编号是否正确!')
    return teams


def modify_team():  # 修改参赛队伍信息
    team_id = int(input('请输入要修改的参赛队编号:'))
    for i in range(len(teams)):
        if teams[i]['id'] == team_id:
            teams[i]['name'] = input('请输入新的参赛作品名称:')
            teams[i]['school'] = input('请输入新的参赛学校:')
            teams[i]['category'] = input('请输入新的赛事类别:')
            teams[i]['members'] = input('请输入新的参赛者姓名:')
            teams[i]['adviser'] = input('请输入新的指导老师姓名:')
            print('修改成功!')
            break
    else:
        print('没有找到该参赛队,请确认编号是否正确!')
    return teams


def manage_menu():
    print('===============信息维护系统===============')
    print('1. 添加参赛队伍')
    print('2. 删除参赛队伍')
    print('3. 修改参赛队伍信息')
    print('4. 显示所有参赛队伍信息')
    print('0. 退出程序')
    print('==========================================')


def manage_team():  # 信息维护系统菜单,选择需要的功能
    read()
    while True:
        manage_menu()
        choice = input('请输入要执行的操作序号(0-4):')
        if choice == '1':   # 添加
            add_team()
            write()
            print('添加成功!')
        elif choice == '2':  # 删除
            remove_team()
            write()
        elif choice == '3':    # 修改
            modify_team()
            write()
        elif choice == '4':     # 输出全部参赛队信息
            print("参赛队编号\t参赛作品名称\t参赛学校\t赛事类别\t参赛者\t指导老师")
            for team in teams:
                print(team['id'], '\t', team['name'], '\t',  team['school'], '\t',
                      team['category'], '\t',  team['members'], '\t',  team['adviser'])
        elif choice == '0':    # 退出当前系统
            print('程序已退出。')
            break
        else:
            print('输入错误,请重新输入!')

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值