刚学了列表、元组的知识点,用列表写了一个简单的角色管理程序,算是复习熟悉一下知识点吧
以下是原代码
'''
王者荣耀角色管理系统
1. 添加角色
2. 删除角色
3. 修改角色
4. 查询角色
5. 显示所有角色
6. 退出系统
这程序只用了"列表"这个知识点
'''
import time
all_role = []
print('----------欢迎进入王者荣耀角色管理系统----------')
while True:
choice = input('请选择功能:\n 1. 添加角色\n 2. 删除角色\n 3. 修改角色\n 4. 查询角色\n 5. 显示所有角色\n 6. 退出系统\n')
# 添加角色
if choice == '1':
name = input('角色名:')
sex = input('性别:')
profession = input('职业:')
role = [name,sex,profession]
all_role.append(role)
print('添加角色 \'{}\' 成功'.format(name))
# 删除角色
elif choice == '2':
name = input('请输入需删除的角色名:\n')
for role in all_role:
if name in role:
all_role.remove(role)
print('删除 {} 成功'.format(name))
break
else:
print('角色名输入有误,请重新输入!')
# 修改角色
elif choice == '3':
name = input('请输入需要修改的角色名:\n')
for role in all_role:
if name in role:
print('原性别:',role[1])
role[1] = input('新性别:')
print('原职业:', role[2])
role[2] = input('新职业:')
print('修改成功!')
break
else:
print('角色名输入有误,请重新输入!')
# 查询角色
elif choice == '4':
name = input('请输入查询角色名:\n')
for role in all_role:
if name in role:
print('角色名'.center(10),'性别'.center(10),'职业'.center(10))
print(role[0].center(10),role[1].center(10),role[2].center(10))
break # 这里的break需要思考一下,break退出的是for这层循环,外面还有一层while循环
else: # for..else.. for循环只要不是被break打断就会执行else语句
print('该角色不存在,请检查角色名是否正确。')
# 显示所有角色
elif choice == '5':
print('角色名'.center(10), '性别'.center(10), '职业'.center(10))
for role in all_role:
print(role[0].center(10),role[1].center(10),role[2].center(10))
# 退出系统
elif choice == '6':
print('正在退出系统中...')
time.sleep(3) # 这个比较有意思,有点像真实的系统
print('已成功退出系统。')
break
# 功能选择错误
else:
print('输入错误,请重新输入!')
break