使用嵌套列表实现游戏角色管理
import sys
print('*' * 40)
print('----------游戏角色管理-----------')
print('1:查询角色')
print('2:添加角色')
print('3:修改角色')
print('4:删除角色')
print('5:显示所有角色')
print('-1:退出程序')
print('*' * 40)
# 角色列表。
roleList = [{"姓名": "刘备", "单位": "蜀国", "职务": "董事长兼总经理", "武力": 6}]
while True:
SN = int(input('===请输入操作序号: '))
if SN in [1, 2, 3, 4, 5, -1]:
if SN == 1:
姓名 = input("请输入查找角色的姓名: ")
searchFlag = False
for role in roleList:
if 姓名 == role['姓名']:
print("姓名: %s, 单位: %s, 职务: %s, 武力: %3.1f." %(role['姓名'], role['单位'], role['职务'], role['武力']))
searchFlag = True
break
# 判断是否找到
if searchFlag == False:
print('对不起,没有找到您要查找的角色!')
elif SN == 2:
姓名 = input('请输入姓名: ')
searchFlag = False
for role in roleList:
if 姓名 == role['姓名']:
print("您输入的角色已存在!")
searchFlag =True
break
if searchFlag == False:
单位 = input('请输入单位: ')
职务 = input('请输入职务: ')
武力 = float(input('请输入武力: '))
newRole = {}
newRole["姓名"] = 姓名
newRole["单位"] = 单位
newRole["职务"] = 职务
newRole["武力"] = 武力
roleList.append(newRole)
elif SN == 3:
姓名 = input('请输入要修改的角色的姓名: ')
modifyFlag = False
for role in roleList :
if role['姓名'] == 姓名:
role['单位'] == input('请输入新的单位: ')
role['职务'] == input('请输入新的职务: ')
role['武力'] == float(input('请输入新的武力: '))
modifyFlag = True
break
if modifyFlag:
print("修改角色成功!")
else:
print('您要修改的角色不存在!')
elif SN == 4:
姓名 = input("请输入要删除角色的名字: ")
delFlag = False
for role in roleList:
if role['姓名'] == 姓名:
delFlag = True
roleList.remove(role)
break
if delFlag:
print("删除角色成功!")
else:
print("您要删除的角色不存在!")
elif SN == 5:
for role in roleList:
print("姓名: %s, 单位: %s, 职务: %s, 武力: %3.1f." % (role['姓名'], role['单位'], role['职务'], role['武力']))
else:
print('退出程序!')
sys.exit(0)
else:
print("输入错误!请重新输入’-1,1-5‘之间的操作序号!")
运行结果:
1、使用两种方法将两个列表中的数据合并。
list1 = [1, 2, 3]
list2 = [4, 5, 6]
listCombine = list1 + list2
print("第一种方法合并")
print(listCombine)
print()
list1.extend(list2)
print("第二种方法合并结果")
print(list1)
运行结果:
2、列表list中包含10个1~100之间的随机整数,将列表list中的奇数变成它的平方,偶数变成它的立方。编程实现上述功能。
import random
list = random.sample(range(1, 101), 10)
print("原列表 : ", list)
for x in range(len(list)):
if list[x] % 2 == 0: # 偶数
list[x] = list[x] ** 3
else : # 奇数
list[x] = list[x] ** 2
print("处理后的列表为 : ", list)
运行结果:
3、列表 list=[3,8,11,26,47],从键盘输入一个新的元素,将该元素插入列表list中,保持列表list1中的元素有序。编程实现上述功能。
list1 = [3, 8, 11, 26, 47]
key = int(input("请输入一个新的数字: "))
list1.extend([key])
list1.sort()
print(list1)
运行结果:
4、元组 tuple中包含20个1~10之间的随机整数,统计每个整数在元组tuple中出现的次数。
import numpy
list1 = numpy.random.randint(0, 11, 20)
tuple = tuple(list1)
print(tuple)
newList = []
for letter in tuple:
if letter not in newList:
newList.append(letter)
newList.sort()
for letter in newList:
print("%d 出现的次数为 %d " % (letter, tuple.count(letter)))
运行结果: