一.列表元素查询:
列表元素查询有三种方法
第一种使用关键字:
index # 返回元素的下标位置,如果没有此元素会报错.
格式及功能:
列表.index(元素) 查询某个元素。
列表.index(元素,下标) 可以通过再设置一个下标参数,来确定起始查询位置
第二种计数:
count
格式及功能:
列表.count(元素) #计算某个元素个数。如果返回了0,则列表中没有此元素。反正,则有。
第三种用 in:
元素 in 列表 元素在列表里面吗? 返回bool类型。
元素 not in 列表 元素不在列表里面吗?
二.列表元素的排序:
假如这里有个列表,里面都是无序排列的数字。这时候,给你一个任务 ,叫你把这些元素升序排列。你会怎么做?让我们来先找一个思路,这里我们可以用冒泡排序的原理来试试。先把这些元素分成好几轮,每轮都会将最大的数排到列表最后。
nums = [5, 1, 7, 6, 8, 2, 4, 3] # 我们随便写一个列表
for j in range(0, len(nums)-1): # 分成轮数
for i in range(0, len(nums)-1): # 每轮将最大的数排到后面,在下一轮排过的数就不会继续参与排列
if nums[i] > nums[i+1]:
c = nums[i]
nums[i] = nums[i+1]
nums[i+1] = c
print(nums)
其实,在python里面有一个关键字,将这些代码封装到里面。
sort # 只有这个才有排序功能
reverse
格式及功能:
列表.sort()/列表.sort(reverse = False) # 默认将元素按升序排列
列表.sort(reverse = Ture) # 将元素按降序序排列
列表.reverse() # 这里的reverse与上面的不同,他的功能就是将原有列表反转,但不会进行排列
列子:
number = []
ran = 0
for i in range(8):
ran = random.randint(1, 100)
number.append(ran)
number.sort()
print(number)
number.reverse()
print(number)
三.元组:
元组与列表相似,但是元组的元素是不能修改(增加或删除)的。 符号上,列表用的是方括号,元组使用的是小括号。 元组也能使用下标和切片。
注意:如果元组只有一个元素,必须加逗号
元组可使用地关键字只有计数count(),index(元素,起始下标,结束下标)
四.王者荣耀角色管理系统:
王者荣耀角色管理
角色: 姓名, 性别, 职业
功能:
添加角色
删除角色
修改角色
查询角色 单个角色
显示所有角色
退出系统
import random
import time
b = [] # 存放所有角色的大容器
print('~~~~~~~欢迎进入王者荣耀角色管理系统~~~~~~~~~~~')
while True:
a = input('请选择功能:\n 1.添加角色 \n 2.删除角色 \n 3修改角色 \n 4.查询角色 \n 5.显示所有角色 \n 6.退出系统 \n')
# 判断
if a == '1':
print('添加角色模块')
name = input('\t角色名称:')
sex = input('\t性别:')
job = input('\t职业:')
role = (name, sex, job)
# 添加到b中
b.append(role)
print('成功添加{}到王者荣耀系统\n'.format(name))
elif a == '2':
print('删除角色模块:')
c = input('\t请输入要删除角色名称:')
# 查找是否存在此角色名
for role in b:
if c in role:
d = input('是否要删除(1是2否)')
if d == '1':
b.remove(role)
print('成功删除{}'.format(c))
break
else:
print('本系统不存在该角色')
elif a == '3':
print('修改角色模块:')
c = input('\t请输入要修改角色名称:')
# 查找是否存在此角色名
for role in b:
if c in role:
role[0] = input('\t角色名称:')
role[1] = input('\t性别:')
role[2] = input('\t职业:')
break
else:
print('本系统不存在该角色')
elif a == '4':
print('查询角色模块:')
c = input('\t请输入要查询的角色名称:')
# 查找是否存在此角色名
for role in b:
if c in role:
print('存在此角色,信息如下:')
print('{}{}{}'.format('名称'.center(10), '性别'.center(10), '职业'.center(10), ))
print(role[0].center(10), end='')
print(role[1].center(10), end='')
print(role[2].center(10), end='')
break
else:
print('本系统不存在该角色')
elif a == '5':
print('显示所有角色模块:')
print('{}{}{}'.format('名称'.center(10), '性别'.center(10), '职业'.center(10), ))
for role in b:
print(role[0].center(10), end='')
print(role[1].center(10), end='')
print(role[2].center(10), end='')
print()
elif a == '6':
print('正在退出王者荣耀管理系统~~~~')
time.sleep(3)
print('成功退出!')
break
else:
print('输入错误,重新选择')