这段python代码中添加学员中,当我再次添加学员时,为啥不会再次显示info里的数据
本帖最后由 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:20 编辑
下面的第二张图事第二次添加数据,没有显示列表里的数据 本帖最后由 lgsp_Jim 于 2021-1-27 01:29 编辑
因为你return位置没对,31行的return缩进一下
for i in info:
if new_name == i['name']:
print('此用户已经存在')
return
# 定义功能界面函数
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:32 编辑
我看错了 有个global lgsp_Jim 发表于 2021-1-27 01:27
因为你return位置没对,31行的return缩进一下
for i in info:
if...
谢谢。解答 谢谢。解答 global 是全局的吗?
页:
[1]