crackerroot

# list 列表:只要声明 [] 就是一个列表,可以放字符串,数字
# names = [\'lily\',\'ironman\',\'jass\',\'hok\',\'jim\']
# 从左到右 0 1 2 3 4
# 从右到左 -5 -4 -3 -2 -1

 

 1 #声明
 2 names=[\'lily\',\'ironman\',\'jass\',\'hok\',\'jim\']
 3 computer_brands=[ ]
 4 #地址
 5 print(id(names))
 6 print(id(computer_brands))
 7 #元素获取使用:下标/索引
 8 print(names[0])
 9 print(names[1])
10 #获取最后一个元素
11 print(names[-1])  #方法一
12 print(len(names))  #方法二
13 print(names[len(names)-1])   #方法三
14 #获取第一个元素
15 print(names[-5])
16 #列表循环遍历
17 for name in names:
18     print(name)
19 #查询列表
20 for name in names:
21     if name==\'lily\':
22         print(\'有lily\')
23         break
24 else:
25     print(\'没有找到lily\')
26 #查询列表的简便方法
27 if \'lily\' in names:
28     print(\'有lily\')
29 else:
30     print(\'没有lily\')

#list 列表:增删改查

 1 brands=[\'hp\',\'dell\',\'lenovo\',\'华为\',\'thinkpad\',\'mac\',\'神州\']
 2 #
 3 #知道位置时
 4 print(brands)
 5 brands[-1]=\'hasee\'     #使用下标找到,赋值
 6 print(brands)
 7 #不知道位置时
 8 for i in range(len(brands)):
 9     if \'华为\' in brands[i]:
10         brands[i]=\'HUAWEI\'
11         break
12 print(brands)
13 
14 #删除   del       delete缩写
15 del brands[2]
16 print(brands)
17 #只要是 hp  lenovo 都删除
18 l=len(brands)
19 i=0
20 while i<l:
21     if \'hp\' in brands[i] or \'mac\' in brands[i]:
22         del brands[i]
23         l-=1
24     i+=1
25 print(brands)
1 if \'good\' == \'good\':     #  == 比较的是内容
2     print(\'相等\')
3 if \'good\' in \'good\':       #  in  相等或包含,应用在字符串判断中,也用在列表中
4     print(\'相等\')

# if ... in \'abc\' : 或 if ... \'a\' in [\'a\',\'b\',\'c\']: 让in 作为一个判断的条件表达式
# for ... in 循环遍历 ,for 变量 in 字符串|列表: in 只作为循环条件

1 i=1
2 if \'good\' in [\'good\',\'goods\',\'cvb\',\'kkk\',\'word\',\'words\']:
3     print(\'包含……\',i)
4     i+=1
1 word = [\'hello\',\'good\',\'apple\',\'world\',\'digit\',\'alpha\']
2 w=input(\'请输入一个单词:\')
3 for word in words:                  #判断内容是否在列表存在
4     if w in word:                       #判断字符串w有没有出现在word
5         print(\'存在此单词\')
6         break

#列表的切片

 1 list=[\'杨超越\',\'佟丽娅\',\'杨幂\',\'赵丽颖\',\'刘亦菲\',\'快快\',100,99.9]
 2 print(list1)
 3 print(list[3])
 4 print(list1[3:6])      #将截取的结果保存到一个列表中
 5 print(list1[-3:-1])
 6 print(list1[::2])   #步长
 7 print(list1[-5:-1:2])
 8 
 9 #反方向
10 print(list1[-1::-1])

#列表元素的添加
#临时的小数据库:list
#列表的函数使用:append() extends() insert()

1 girls=[]
2 while True:
3     name=input(\'请输入名字:\')
4     if name==\'quit\':
5         break
6     grils.append(name)   #append() 末尾追加
7 print(grils)

#extend() 类似列表的合并

1 nams=[]
2 name=input(\'请输入名字:\')
3 girls.extend(names)
4 print(girls)

#符号 + 也可以用于列表的合并

1 girls=girls+names
2 print(girls)

#insert 从指定位置插入元素

1 [\'杨幂\',\'孙俪\',\'王丽坤\',\'表达\']
2 #  0       1        2         3
3 girls.insert(1,\'泰勒\')
4 print(girls)

#产生10个不同的随机数保存到列表中

1 import random
2 random_list=[ ]
3 for i in range(10):
4     ran=random.randint(1,20)
5     if ran not in random_list:
6         random_list.append(ran)
7 print(random_list)

#for 循环产生的随机数不一定保证是10个,用可控的while循环更好

1 import random
2 random_list=[]
3 i=0
4 while i<10:
5     ran=random.randint(1,20)
6     if ran not in random_list:
7         random_list.append(ran)
8         i+=1
9 print(random_list)

#找出列表中的最大值,最小值,求和

1 max_value=max(random_list)
2 print(max_value)
3 min_value=min(random_list)
4 print(min_value)
5 s=sum(random_list)
6 print(s)

#自定义求最大值,最小值

1 print(\'-----------------------------------------------------------\')
2 maxvalue=random_list[0]
3 minvalue=random_list[0]
4 for value in random_list:
5     if value>maxvalue:
6         maxvalue=value
7     if value<minvalue:
8         minvalue=value
9 print(maxvalue,minvalue)

#列表元素排序 ; ascending order,升序 ,descending order,降序

1 new_list=sorted(random_list)
2 print(new_list)
3 new_list=sorted(random_list,reverse=True)
4 print(new_list)

#字符串中使用的符号:+ * in not in is not is []
#列表支持的符号:+ *

 1 l1=[1,2,4,5,6]
 2 l2=[6,7,8,9,2]
 3 l3=l1+l2
 4 print(l3)
 5 l4=[1,2,3]*3
 6 print(l4)
 7 result=3 in [1,2,3,5,6]
 8 print(result)
 9 result=[3] in [1,2,3,4,5]
10 print(ressult)
11 result=[3] in [1,2[3],4,5]
12 print(result)

#列表中的元素:整型,字符串,浮点型,列表,元组,字典,对象

1 result=[3,4] in [1,2,[3,4,5],7]
2 print(result)
3 l5=[[1,2,3],[4,5,5],[6,7,8]]
4 print(len(l5))
5 e=l5[2]
6 print(e,type(e))
7 print(l5[1][2])

#类型转换:list() 将指定的内容转为列表,可迭代的内容可以放到list中

1 s=\'ascdf\'  
2 result=list(s)  #字符串是可迭代的
3 print(result)
4 # iterable 可迭代的 , 可以for ...in 里面循环就是可迭代的
5 print(list(range(1,10,3)))  #range() 是可迭代的
6 print(list(10))   #int obj is not iterable

#将字符串中的大写改为小写,小写改为大写,数字不变

 1 a=\'zxccvbnWERTRUI1234534456\'
 2 s=\'\'
 3 for i in a:
 4     if i.isupper():
 5         s+=i.lower()
 6     elif i.islower():
 7         s+=i.upper()
 8     else:
 9         s+=i
10 print(s)

#连接字符串:join()

1 x=\'abc\'
2 y=\'wer\'
3 z=[\'h\',\'j\',\'k\']
4 print(x.join(y))
5 print(x.join(z))

#字符串函数:split()
#列表函数:只有通过列表才可以调出来的函数

添加:append() extend() insert()
排序:list.sort() sorted(list)
次数:count()
删除: del() list[index] remove() pop() clear()
remove():删除列表第一次出现的元素,如果没有找到要删除的元素则报出异常
pop(): 弹栈,删除列表中的最后一个元素,返回值是删除的那个元素,可以指定下标删除index
clear() : 清除列表
reverse():改变了列表的位置结构
队列:先进先出 FIFO first in first out
栈:先进后出

 

#列表的删除

 1 hotpot_list=[\'张亮麻辣烫\',\'吖哺吖哺\',\'杨国福麻辣烫\',\'海底捞\']
 2 result=hotpot_list.remove(\'吖哺吖哺\')
 3 print(result)
 4 print(hotpot_list)
 5 result=hotpot_list.pop()
 6 print(result)
 7 print(hotpot_list)
 8 result=hotpot_list.clear()
 9 print(result)
10 print(hotpot_list)
11 hotpot_list.reverse()
12 print(hotpot_list)

#列表的排序

1 ls=[7,4,5,6,3,9]
2 ls.sort()
3 print(ls)
4 ls.sort(reverse=True) #升序
5 print(ls)
6 print(ls.count(7))

 

#1.选择人物  2.购买武器金币  3.打仗赢金币 4.选择删除武器  5.查看武器 6.退出游戏

  1 import random
  2 print(\'*\'*45)
  3 print(\'\t欢迎来到王者荣耀\')
  4 print(\'*\'*45)
  5 role=input(\'请选择游戏人物:\n1.鲁班 2.后羿 3.李白 4.孙尚香 5.貂蝉 6.诸葛亮 \n\')
  6 coins=10000
  7 weapon_list=[]
  8 
  9 print(\'欢迎{}来到王者荣耀,当前金币是:{}\'.format(role,coins))
 10 
 11 while True:
 12     choice=int(input(\'\n请选择: \n 1.购买武器\n 2.打仗 \n 3.删除武器 \n 4.查看武器 \n 5.退出游戏\n\'))
 13     if choice==1:
 14         print(\'欢迎进入武器库:\n\')
 15         weapons=[[\'饮血剑\',100],[\'屠龙刀\',300],[\'破晓\',600],[\'末世\',400],[\'碎星锤\',500]]
 16         for weapon in weapons:
 17             print(weapons)
 18             #提示输入要购买的武器
 19             weaponname=input(\'请输入要购买的武器:\')
 20             #判断:原来没有买过武器
 21             if weaponname not in weapon_list:
 22             #判断: 输入的武器名是否在武器库
 23                 for weapon in weapons:
 24                     if weaponname == weapon[0]:
 25                         if coins>=weapon[1]:
 26                             coins-=weapon[1]
 27                             weapon_list.append(weapon[0])
 28                             print(\'{}购买{}成功\'.format(role,weaponname))
 29                         break
 30                     else:
 31                         print(\'金币不足,赶快打仗挣金币.\')
 32                         break
 33                 else:
 34                     print(\'输入的武器名有误.\')
 35             else:
 36                 print(\'已经拥有此武器\')
 37                                        
 38     elif choice==2:
 39         print(\'正在进入战场…………………………\')
 40         if len(weapon_list)>0:
 41             print(\'{}拥有的武器如下:\'.format(role))
 42             for weapon in weapon_list:
 43                 print(weapon)
 44                 
 45             while True:
 46                 weaponname=input(\'请选择:\')
 47                 if weaponname in weapon_list:
 48                     #进入战争状态
 49                     ran1=random.randint(1,20)
 50                     ran2=random.randint(1,20)
 51                     if ran1>ran2:
 52                         print(\'此局对战胜利\')
 53                     elif ran1<ran2:
 54                         print(\'此局对战失败\')
 55                         coins+=200
 56                         print(\'金币:\',coins)
 57                     else:
 58                         print(\'此局对战平局\')
 59                     break
 60                 else:
 61                     print(\'选择的武器不在武器库,重新选择\')
 62         else:
 63             print(\'目前没有武器不能打仗,请前去购买\')
 64                 
 65     elif choice==3:
 66         #删除武器
 67         if len(weapon_list)>0:
 68             print(\'{}拥有的武器如下:\'.format(role))
 69             for weapon in weapon_list:
 70                 print(weapon)
 71             print(\'选择要删除的武器………………\')
 72             while True:
 73                 weaponname=input(\'输入要删除的武器名:\')
 74                 if weaponname in weapon_list:
 75                     #删除武器
 76                     weapon_list.remove(weaponname)
 77                     #归还金币
 78                     for weapon in weapons:
 79                         if weaponname==weapon[0]:
 80                             coins+=weapon[1]
 81                             break
 82                     break
 83                 else:
 84                     print(\'武器名输入有误,重新输入\')
 85         else:
 86             print(\'没有武器 ,你删除个屁\')
 87             
 88     elif choice==4:
 89         #查看自己武器库
 90         print(\'{}拥有的武器如下:\'.format(role))
 91         for weapon in weapon_list:
 92             print(weapon)
 93         print(\'金币总数:\',coins)
 94         
 95     elif choice==5:
 96         anwer=input(\'确定要离开王者荣耀吗(yes/no)\')
 97         if anwer==\'yes\':
 98             break
 99     else:
100         print(\'输入错误,请重新选择\')

 

分类:

技术点:

相关文章: