提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
本文主要介绍Python的列表的总结
提示:以下是本篇文章正文内容,下面案例可供参考
一、王者荣耀游戏?
'''
1.选择人物
2.购买武器 金币
3.赢得金币
4.选择武器
5.查看武器
6.退出游戏
'''
import random
print('*'*40)
print('\t来到王者荣耀')
print('*'*40)
role= input ('请选择游戏人物:(1.鲁班 2.后裔 3.李白 4.孙尚香 5.貂蝉 6.诸葛亮)' )
coins = 1000
weapon_list=[]
print('欢迎!{1}来到王者荣耀,当前金币是:{0}'.format(role,coins))
while True:
choice= int(input('请选择:\n 1.购买武器\n 2.打比赛\n 3.删除武器\n 4.查看武器\n 5.退出游戏'))
if choice==1:
print('欢迎来到武器库:')
weapons =[['屠龙刀',500],['樱花枪',400],['98k',1000],['手榴弹',800],['碧血剑',700],['鹅毛扇',800]]
for weapon in weapons:
print(weapon[0],weapon[1],sep=' ')
weaponname = input('请输入要购买的武器的名称')
if weaponname not in weapon_list:
for weapon in weapons:
if weaponname == weapon[0]:
if coins >= weapon[1]:
coins-=weapon[1]
weapon_list.append(weapon[0])
break
else:
print('金币不足')
break
else:
print('输入武器名称错误!')
else:
print('已经拥有此武器!')
elif choice==2:
print('进入战场.....')
print('{}拥有的武器如下:'.format(role))
for weapon in weapon_list:
print(weapon)
while True:
weaponname=input('请选择:')
if weaponname in weapon_list:
ran1=random.randint(1,20)
ran2=random.randint(1,20)
if ran1>ran2:
print('此局对战:张飞胜!!!')
elif ran1<ran2:
print('此局对战:{}胜,金币:{}'.format(role,coins))
coins+=200
else:
print('此局平局,可以再次对战!')
break
else:
print('选择的武器不存在,请重新选择')
elif choice==3:
print('武器太多,很沉,掉几个')
if len(weapon_list)>0:
print('{}拥有的武器如下'.format(role))
for weapon in weapon_list:
print(weapon)
weaponname= input('请选择要删除的武器名称')
while True:
if weaponname in weapon_list:
weapon_list.remove(weaponname)
for weapon in weapons:
if weaponname=weapons[0]:
coins+=weapon[1]
break
break
else:
print('武器名称输入有误!')
else:
print('你都没有武器,还沉啥啊....,赶快购买去')
elif choice==4:
print('{}拥有的武器如下'.format(role))
for weapon in weapon_list:
print(weapon)
print('总金币:',coins)
elif choice==5:
answer= input('确定要离开王者荣耀游戏吗?yes/no')
if answer==yes:
print('game over')
break
else:
continue
else:
print('输入错误,请重新选择')
二、排序算法
1.选择排序
算法原理:从第一个元素开始,把最大值或者最小值往右边移动
for number in range(len(numbers)):
for j in range(number+1,len(numbers)):
if numbers[i]>numbers[j]:
numbers[i],numbers[j]=numbers[j],numbers[i]
print(numbers)
print('------------>',i)
for number in range(len(numbers)):
for j in range(number+1,len(numbers)):
if numbers[i]<numbers[j]:
numbers[i],numbers[j]=numbers[j],numbers[i]
print(numbers)
print('------------>',i)
2,冒泡排序
算法原理:每一次外层循环找到相应的最大值
代码如下(示例):
mylist=[4,1,7,0]
for i in range(len(mylist)-1):
for j in range(0,len(mylist)-1-i):
if mylist[j]>mylist[j+1]:
tmp = mylist[j]
mylist[j]=mylist[j+1]
mylist[j+1]=tmp
ptint(mylist)
3.列表的总结
代码如下(示例):
'''
总结列表:
list
1.定义
1 = [] 空列表
l= ['aaa']
2.符号:
+ --------> 合并 [] + []
* ------> []*n
in ---> a in [] false true
not in --->
is 地址是否相等
not is
3.系统中给列表的函数:
len(list) ----> 整形的长度值
sorted(list) ---------->排序
max()
min()
list() ------强制转换成列表类型
enumerate() index value 枚举
4.列表自身的函数:
添加元素:
append() 末尾添加
extend() 末尾添加一组元素
insert() 指定位置插入操作
删除元素:
del list[index]
remove (obj) 删除指定的元素,如果指定的元素不存在则报异常
pop() 队列 FIFO 栈 FIFO 默认删除的是最后一个元素
clear() 清空元素
其他:
count() 指定元素的个数
sort() 排序
reverse() 翻转
算法:
选择排序:
冒泡排序:
s
'''
总结
提示:这里对文章进行总结: 例如:以上就是今天要讲的内容,本文仅仅简单介绍了列表的使用以及两种排序算法
|