吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1535|回复: 6
收起左侧

[求助] 这段python代码中添加学员中,当我再次添加学员时,为啥不会再次显示info里的数据

[复制链接]
weicheng 发表于 2021-1-27 01:07
本帖最后由 weicheng 于 2021-1-27 01:19 编辑

# 定义功能界面函数
def info_print():
    print('请选择功能------')
    print('1、添加学员')
    print('2、删除学员')
    print('3、修改学员')
    print('4、查询学员')
    print('5、显示所有学员')
    print('6、退出系统')
    print('-' * 20)


# 等待存储所有的信息
info = []


#
# 一、添加学员信息的函数
def add_info():
    """添加学员函数"""
    # 1、用户输入
    new_id = input('请输入学号:')
    new_name = input('请输入姓名:')
    new_tel = input('请输入手机号:')
    # 声明全局变量
    global info
    # 判断姓名是否重复,提示用户。
    for i in info:
        if new_name == i['name']:
            print('此用户已经存在')
        return

    # 2、判断是否添加这个学员,存在添加,不存在不添加
    info_dict= {}

    # 字典新增数据
    info_dict['id'] = new_id
    info_dict['name'] = new_name
    info_dict['tel'] = new_tel
    #print(info_dict)
    # 列表追加字典
    info.append(info_dict)
    print(info)


# 二、删除学员函数
# def del_info():
#     del_name = input('请输入要删除的姓名:')
#     global info
#     for i in info:
#         if del_name == i['name']:
#             info.remove(i)
#             break
#     else:
#         print('用户不存在。')


# 循环执行下面代码,直到输入6
while True:
    # 1、显示主界面
    info_print()
    # 2、用户输入功能序号
    user_num = int(input('请输入功能序号:'))
    # 3按照用户输入的功能序号,执行不同的功能
    if user_num == 1:
        # print('添加')
        add_info()
    elif user_num == 2:
        print('删除')
        #del_info()
    elif user_num == 3:
        print('修改')
    elif user_num == 4:
        print('查询')
    elif user_num == 5:
        print('显示所有学员信息')
    elif user_num == 6:
        print('退出系统')
    else:
        print('输入有误')




第一次添加数据

第二次添加数据

第二次添加数据

第一次添加数据

第一次添加数据

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| weicheng 发表于 2021-1-27 01:13
本帖最后由 weicheng 于 2021-1-27 01:20 编辑

下面的第二张图事第二次添加数据,没有显示列表里的数据
lgsp_Jim 发表于 2021-1-27 01:27
本帖最后由 lgsp_Jim 于 2021-1-27 01:29 编辑

因为你return位置没对,31行的return缩进一下
[Python] 纯文本查看 复制代码
    for i in info:
        if new_name == i['name']:
            print('此用户已经存在')
            return


[Python] 纯文本查看 复制代码
# 定义功能界面函数
def info_print():
    print('请选择功能------')
    print('1、添加学员')
    print('2、删除学员')
    print('3、修改学员')
    print('4、查询学员')
    print('5、显示所有学员')
    print('6、退出系统')
    print('-' * 20)


# 等待存储所有的信息
info = []


#
# 一、添加学员信息的函数
def add_info():
    """添加学员函数"""
    # 1、用户输入
    new_id = input('请输入学号:')
    new_name = input('请输入姓名:')
    new_tel = input('请输入手机号:')
    # 声明全局变量
    global info
    # 判断姓名是否重复,提示用户。
    for i in info:
        if new_name == i['name']:
            print('此用户已经存在')
            return

    # 2、判断是否添加这个学员,存在添加,不存在不添加
    info_dict= {}

    # 字典新增数据
    info_dict['id'] = new_id
    info_dict['name'] = new_name
    info_dict['tel'] = new_tel
    #print(info_dict)
    # 列表追加字典
    info.append(info_dict)
    print(info)


# 二、删除学员函数
# def del_info():
#     del_name = input('请输入要删除的姓名:')
#     global info
#     for i in info:
#         if del_name == i['name']:
#             info.remove(i)
#             break
#     else:
#         print('用户不存在。')


# 循环执行下面代码,直到输入6
while True:
    # 1、显示主界面
    info_print()
    # 2、用户输入功能序号
    user_num = int(input('请输入功能序号:'))
    # 3按照用户输入的功能序号,执行不同的功能
    if user_num == 1:
        # print('添加')
        add_info()
    elif user_num == 2:
        print('删除')
        #del_info()
    elif user_num == 3:
        print('修改')
    elif user_num == 4:
        print('查询')
    elif user_num == 5:
        print('显示所有学员信息')
    elif user_num == 6:
        print('退出系统')
    else:
        print('输入有误')
fanvalen 发表于 2021-1-27 01:28
本帖最后由 fanvalen 于 2021-1-27 01:32 编辑

我看错了 有个global
 楼主| weicheng 发表于 2021-1-27 01:31
lgsp_Jim 发表于 2021-1-27 01:27
因为你return位置没对,31行的return缩进一下
[mw_shl_code=python,true]    for i in info:
        if  ...

谢谢。解答
有、 发表于 2021-1-27 08:23
谢谢。解答
ghoob321 发表于 2021-1-27 09:01
global 是全局的吗?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 07:38

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表