大家好,又见面了,我是你们的朋友全栈君。
学员管理系统
#初学者做的很差劲!!!!!
def system_information():#打印菜单
print('-' * 20)
print('[1]添加学员')
print('[2]删除学员')
print('[3]修改学员信息')
print('[4]查询学员信息')
print('[5]显示所有学员信息')
print('[6]退出系统')
print('-'*20)
stu_list=[{
'name': 'TOM', 'age': '18', 'gender': 'man'},{
'name': 'test1', 'age': '19', 'gender': 'man'},{
'name': 'ww', 'age': '19', 'gender': 'man'}]
#这个是学员列表,存储学员信息,可以为空,因为要调试所以就填了一些。
def stu_informaiton():
"""这个是用于增加学员信息时用的函数,其实不用单独出来一个函数也可以,只不过写都写了就懒得改了"""
name = input('请输入学员名字:')
age = input('请输入学员年龄:')
gender = input('请输入学员性别:')
return {
'name': name, 'age': age, 'gender':gender}
def stu_name():
""" 这个是用于后来查找学员、修改学员信息、删除学员信息,输入学员名字。"""
name=input('请输入学员名字:')
return name
def add_stu(stu_info):
"""学员增加函数"""
global stu_list #使用全局变量
stu_list.append(stu_info)
print(stu_list)
#这边其实不用加print,为了调试的时候方便所以加上。
def whereis_stu(name):
"""通过输入的学员名字定位学员信息在列表的那个位置"""
global stu_list
for i in stu_list:
if name==i['name']:
return i
def remove_stu(name):
"""删除学员函数"""
global stu_list
whereis=whereis_stu(name)
stu_list.remove(whereis)
print(stu_list)
#这边其实不用加print,为了调试的时候方便所以加上。
def change_stu(name):
"""修改学员信息的函数"""
global stu_list
whereis=whereis_stu(name)
change_key=input('请输入修改的学员信息key[name|age|gender]:')
change_value = input(f'请输入{
change_key}修改后的学员信息:')
whereis[change_key]=change_value
def exist_stu(name):
"""这个函数是用于通过输入的学员姓名判断学员信息的存在性"""
# flag为0时无此学员,flag为1时有此学员
global stu_list
flag=0
for i in stu_list:
if name == i['name']:
print(f'学员{
name}存在')
whereis=stu_list.index(i)
print(f'{
name}在学员列表第{
whereis+1}个')
flag=1
return flag
def query_stu(name):
"""这个是通过学员姓名查询学员信息的函数"""
if(exist_stu(name)==0):
flag=0
return flag
else :
flag = 1
return flag
while 1:
system_information()
option=int(input('请输入您的选项:'))
if option == 1:
name = stu_name()
if (query_stu(name) == 0):
stu_info = stu_informaiton()
add_stu(stu_info)
elif option == 2:
name = stu_name()
if (query_stu(name) == 1):
remove_stu(name)
print(f'学员{
name}已删除!')
else:
print(f'学员{
name}不存在,无法删除!')
elif option == 3:
name = stu_name()
if (query_stu(name) == 1):
change_stu(name)
else:
print(f'学员{
name}不存在,无法修改!')
elif option == 4:
name = stu_name()
if (query_stu(name) == 0):
print(f'学员{
name}不存在!')
elif option == 5:
print(stu_list)
elif option == 6:
exit()
else:
print('输入的值错误!')
#这个代码其实还有很多可以优化的地方,比如通过增加字典的key-value去用id控制查找修改学员的信息。
#代码其实有点繁琐,可以用for循环的else和if语句去判断学员的存在性。因为存在与不存在可以for循环内通过if执行语句中去break,和else正常执行实现2个分支。不是if和else搭配,是for 和else的搭配。
#暂时就想到这么多,以后慢慢学再补充。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/191458.html原文链接:https://javaforall.cn
原文地址:https://cloud.tencent.com/developer/article/2152420
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。