⑴ 利用python进行《野蛮时代》游戏数据分析
数据包含近229万条记录,109个字段,以下取较重要的字段进行说明。
字段说明:user_id:用户编码,用户唯一标识
bd_stronghold_level:要塞等级,相当于游戏账号等级
wood_rece_value:木头消耗数量
stone_rece_value:石头消耗数量
ivory_rece_value:象牙消耗数量
meat_rece_value:肉消耗数量
magic_rece_value:魔法消耗数量
general_acceleration_rece_value:通用加速消耗数量
building_acceleration_rece_value:建筑加速消耗数量
reaserch_acceleration_rece_value:科研加速消耗数量
training_acceleration_rece_value:训练加速消耗数量
treatment_acceleration_rece_value:治疗加速消耗数量
pvp_battle_count:玩家对玩家次数
pve_battle_count:玩家对机器次数
avg_online_minutes:日均在线时间
pay_price: 消费金额
pay_count:消费次数
分析思路:用户注册时间分布情况?
用户的付费情况(付费率,ARPU,ARPPU)?
各等级用户的付费情况?
用户的消费习惯?
可视化数据
分析过程:
①导入数据
import numpy as np
import pandas as pd
from pandas import read_csv
from sklearn.cluster import KMeans
import matplotlib.pyplotas plt
import pylab as pl
from matplotlib.font_managerimport FontManager, FontProperties
pd.set_option('display.max_columns',None)
#为了数据安全,一份数据
df=df0
#检查是否有空值
print(df.isnull().any().any())
#观察数据构成
print(df.head())
②清洗数据
#以user_id为维度,删除重复数据,并查看用户总数
df=df.drop_plicates(subset='user_id')
print('用户总数:',len(df['user_id']))
→用户总数:2288007
③计算用户注册时间分布
#首先将注册时间精确到天
register_date=[]
for i in df['register_time']:
date=i[5:10]
register_date.append(date)
df['register_time']=register_date
#计算每天的注册人数
df_register=df.groupby('register_time').size()
df_register.columns=['日期','注册人数']
print(df_register)
(可视化)
plt.plot(df_register)
plt.grid(True)
pl.xticks(rotation=90)
font=FontProperties(fname='/System/Library/Fonts/PingFang.ttc')
plt.title('用户注册分布图',fontproperties=font)
plt.show()
△可以看出,用户注册数在2月19日有一次的大的高峰,其他时间也分别有几次小高峰,且高峰的持续时间很短,可以推测是因为游戏推出一些奖励活动或公司对游戏的推广取得了效果进而使注册用户激增。
④用户的付费情况(付费率,ARPU,ARPPU)
#付费率(付费人数/活跃人数)
df_pay_user=df[(df['pay_price']>0)]
pay_rate=df_pay_user['user_id'].count()/df_active_user['user_id'].count()
print('付费率:%.2f'%(pay_rate))
#ARPU(总付费金额/活跃人数)
arpu=df_pay_user['pay_price'].sum()/df_active_user['user_id'].count()
print('ARPU:%.2f'%(arpu))
#ARPPU(总付费金额/付费人数)
arppu=df_pay_user['pay_price'].sum()/df_pay_user['user_id'].count()
print('ARPPU:%.2f'%(arppu))
△目前盈利较好的手游的ARPU超过5元,一般手游在3~5元之间,盈利较差的低于3元,该游戏的ARPU为8.55元,说明盈利水平较高。
⑤不同等级用户的付费情况
df_user=df[['user_id','bd_stronghold_level','pay_price','pay_count']]
df_table=pd.pivot_table(df_user,index=['bd_stronghold_level'],
values=['user_id','pay_price','pay_count'],
aggfunc={'user_id':'count','pay_price':'sum','pay_count':'sum'})
df_stronghold_pay=pd.DataFrame(df_table.to_records())
#各等级付费人数
df_stronghold_pay['pay_num']=df_user[(df_user['pay_price']>0)].groupby('bd_stronghold_level').user_id.count()
#各等级付费转化率
df_stronghold_pay['pay_rate']=df_stronghold_pay['pay_num']/df_stronghold_pay['user_id']
#各等级平均付费金额
df_stronghold_pay['avg_pay_price']=df_stronghold_pay['pay_price']/df_stronghold_pay['user_id']
#各等级平均付费次数
df_stronghold_pay['avg_pay_count']=df_stronghold_pay['pay_count']/df_stronghold_pay['user_id']
#重命名列名
df_stronghold_pay.columns=['要塞等级','总付费次数','总付费金额','总人数',
'付费人数','付费转化率','人均付费金额','人均付费次数']
df_stronghold_pay=df_stronghold_pay[['要塞等级','总人数','付费人数','付费转化率',
'总付费金额','人均付费金额','总付费次数','人均付费次数']]
df_stronghold_pay=df_stronghold_pay.round(2)
print(df_stronghold_pay)
(可视化)
#要塞等级—付费转化率
x=df_stronghold_pay['要塞等级']
y=df_stronghold_pay['付费转化率']
plt.xticks(x,range(0,len(x),1))
plt.plot(x,y)
plt.grid(True)
plt.title('不同等级用户付费转化率',fontproperties=font)
plt.show()
#要塞等级-人均付费金额
x=df_stronghold_pay['要塞等级']
y=df_stronghold_pay['人均付费金额']
plt.xticks(x,range(0,len(x),1))
plt.plot(x,y)
plt.grid(True)
plt.title('不同等级用户人均付费jine',fontproperties=font)
plt.show()
x=df_stronghold_pay['要塞等级']
y=df_stronghold_pay['人均付费金额']
plt.xticks(x,range(0,len(x),1))
plt.plot(x,y)
plt.grid(True)
plt.title('不同等级用户人均付费jine',fontproperties=font)
plt.show()
#要塞等级-人均付费次数
x=df_stronghold_pay['要塞等级']
y=df_stronghold_pay['人均付费次数']
plt.xticks(x,range(0,len(x),1))
plt.plot(x,y)
plt.grid(True)
plt.title('不同等级用户人均付费次数',fontproperties=font)
plt.show()
△用户等级到达10级时,付费率接近60%,等级到达13级时,付费率接近100%,且人均付费金额和次数两项指标也在用户达到10级后增长迅速,因此可以认定10级以上用户为游戏的核心用户。
△但是观察用户等级分布,发现绝大部分用户还是处在10级以下的水平,因此如何使用户达到10级是游戏运营接下来需要考虑的事。
⑥不同玩家的消费习惯
该游戏充值主要可以获得道具类(木头、石头、象牙、肉、魔法)和加速券类(通用、建筑、科研、训练、医疗)。根据用户的充值金额大小,分别分析两类消费品的消耗情况。
#将等级>=10级的玩家划分为:消费>=500为高消费玩家,<500为普通玩家
df_eli_user=df[(df['pay_price']>=500)&(df['bd_stronghold_level']>=10)]
df_nor_user=df[(df['pay_price']<500)&(df['bd_stronghold_level']>10)]
#不同玩家的道具消耗情况
wood_avg=[df_eli_user['wood_rece_value'].mean(),df_nor_user['wood_rece_value'].mean()]
stone_avg=[df_eli_user['stone_rece_value'].mean(),df_nor_user['stone_rece_value'].mean()]
ivory_avg=[df_eli_user['ivory_rece_value'].mean(),df_nor_user['ivory_rece_value'].mean()]
meat_avg=[df_eli_user['meat_rece_value'].mean(),df_nor_user['meat_rece_value'].mean()]
magic_avg=[df_eli_user['magic_rece_value'].mean(),df_nor_user['magic_rece_value'].mean()]
props_data={'high_value_player':[wood_avg[0],stone_avg[0],ivory_avg[0],meat_avg[0],magic_avg[0]],
'normal_player':[wood_avg[1],stone_avg[1],ivory_avg[1],meat_avg[1],magic_avg[1]]}
df_props=pd.DataFrame(props_data,index=['wood','stone','ivory','meat','magic'])
df_props=df_props.round(2)
print(df_props)
#可视化
ax=df_props.plot(kind='bar',title='Props Rece',
grid=True,legend=True)
plt.show()
△普通玩家和高消费玩家对木头、石头、肉的消耗都较大,魔法的消耗都较小,而在象牙的消耗上,高消费玩家和普通玩家的消耗差距较大。
#不同玩家的加速券消耗情况
general_avg=[df_eli_user['general_acceleration_rece_value'].mean(),
df_nor_user['general_acceleration_rece_value'].mean()]
building_avg=[df_eli_user['building_acceleration_rece_value'].mean(),
df_nor_user['building_acceleration_rece_value'].mean()]
research_avg=[df_eli_user['reaserch_acceleration_rece_value'].mean(),
df_nor_user['reaserch_acceleration_rece_value'].mean()]
training_avg=[df_eli_user['training_acceleration_rece_value'].mean(),
df_nor_user['training_acceleration_rece_value'].mean()]
treatment_avg=[df_eli_user['treatment_acceleration_rece_value'].mean(),
df_nor_user['treatment_acceleration_rece_value'].mean()]
acceleration_data={'high_value_player':[general_avg[0],building_avg[0],research_avg[0],
training_avg[0],treatment_avg[0]],
'normal_player':[general_avg[1],building_avg[1],research_avg[1],
training_avg[1],treatment_avg[1]]}
df_acceleration=pd.DataFrame(acceleration_data,index=['general','building','researching','training','treatment'])
print(df_acceleration.round(2))
#可视化
ax=df_acceleration.plot(kind='bar',title='Acceleration Rece',
grid=True,legend=True)
plt.show()
△两类玩家对对治疗加速券消耗都很小,对通用加速券的消耗差异较大,其他三种加速券消耗差别不大。
结论:1.该游戏具有较大的用户基数,且新用户注册受游戏活动、新版本等因素影响较大。
2.该游戏的ARPU为8.55,说明该游戏的盈利能力较高。
3.用户等级达到10级后,付费意愿明显上升,且达到13级时付费率将近100%。但是绝大多数用户仍然停留在10级以下,如何使用户平滑升至10级尤为重要。
4.消费习惯上,高消费玩家对象牙和通用加速券的需求远多于一般玩家。
⑵ python能做什么游戏
Python是一门高级且有趣的编程语言,除了网络爬虫、人工智能、数据分析之外,Python还可以进行游戏开发,为大家介绍五个支持Python的2D、3D游戏开发库。
1、Cocos2d:是一系列开源软件框架,用于构建跨平台2D游戏和应用程序,由cocos2d-x、cocos2d-js、cocos2d-xna和cocos2d多种框架组成,像大鱼赌场、城堡冲突等小游戏,就是用此框架开发出来的。
2、Panda3D:是由迪士尼开发的3D游戏引擎,一个用于Python和C++程序的3D渲染和游戏开发框架,并由卡内基梅陇娱乐技术中心负责维护,使用C++编写的,针对Python进行了完全的封装。
3、Pygame:它是一组Python模块,用来编写游戏,可支持Python3.7,游戏例子有:纸牌游戏、超级马里奥、击球等多种游戏。
4、Pyogre:ogre 3D渲染引擎的Python绑定,可以用来开发游戏和仿真程序等任何3D应用,它的API更加稳定,也非常快速灵活。
5、RenPy:一个视觉小说引擎,被世界各地的成千万的创造者所使用,它可以帮助你使用文字、图像和声音来讲述电脑和移动设备上的故事。RenPy是开放源码的,可免费的商业用途,易于学习的脚本语言任何人都能有效地编写大型视觉小说,它的Python脚本足以用来模拟游戏。
⑶ 用Python能做哪些事情
Python作为一门胶水语言,其实能做的事非常多,下面我简单介绍一下,分为八个方面,主要内容如下:
数据处理
Python提供了大量用于数据处理和科学计算的库,像numpy,scipy,pandas等,对于矩阵计算、线性代数等,numpy可以快速计算并得到结果,pandas内置的DataFrame类型可以快速处理各种常见的文件,像CSV,Excel,JSon等,是数据分析的利器,在数据处理中经常使用:
可视化
Python数据可视化库也非常丰富,除了经常使用的matplotlib外,还有许多其他可视化库,像seaborn,pyecharts等,绘制的图形种类更丰富,更漂亮,代码量也更少,非常容易学习,对于日常作图制表来说,是一个非常不错的选择:
机器学习
现在机器学习正火,其实Python里面也有现成的机器学习模块可供学习—scikit-learn,对于常见的机器学习算法,像分类、回归、聚类、降维等,这个模块都有现成的代码可直接使用,非常方便,对于想入门机器学习的朋友来说,这是一个非常不错的选择:
神经网络
神经网络起源应该比较早了,目前在图像领域应用比较广泛,Python也有现成的神经网络模块可供使用,比较有名的就是谷歌开源的tensorflow,可以快速构建神经网氏轿络模型,并支持GPU计算,对于科研人员来说,是一个非常不错的选择,当然,除此之虚埋外,还有更高级的theano,keras等,使用也非常方便:
财经金融
对于想快速获取股票财经数据的朋友来说,Python也有现成的模块可供使用—tushare,一个免费、开源的财经数据接口包,可以快速获取国内股票数据,而且自动整合了数据爬取、清洗到加工的过程,使用起来非常不错,对于金融分析人员来说,是一个非常不错的工具:
爬虫
Python非常适合做网页爬虫,像常见的urllib,bs4,requests,lxml等模块,对于爬取大部分网页来说非常容易,请求解析于一身,可以快速获取到我们需要的数据,当然,为了提高开发效率,避免重复造轮子,Python也提供了一个非常受欢迎的爬虫框架—scrapy,可定制性更高,用户只需要添加少量代码,便可快速启动爬虫:
游戏开发
对于游戏开发来差核蚂说,Python也有一个专门的平台—pygame,专门用于游戏开发,对于开发小型游戏来说,这是一个非常不错的选择,摆脱了低级语言的束缚,代码量更少也更易学习,对于游戏感兴趣的朋友来说,这是一个非常不错的选择:
视频下载
对于视频下载来说,Python也有一个下载利器—you-get,可以免费快速的下载优酷、B站、美拍等网站视频,不需要登录,一键you-get就可以下载视频到本地,还支持在线播放功能,除此之外,还可以下载图片、音频等文件,是一个非常实用的工具:
目前,就分享这8个方便吧,比较实用也比较有趣,当然,还有许多其他方面的,像Web开发、桌面GUI、测试、运维、树莓派等,网上也有相关资料可供参考,感兴趣的朋友可以自己搜一下,希望以上分享的内容能对你有所帮助吧
⑷ python猜拳游戏编程代码背景意义
python猜拳游戏编程代码背景意义是用面向对象的思想做一个游戏。用面向对象的思想玩家猜拳:1剪刀2石头3布玩家输入一个1-3的数字电脑出拳:随机产生一个1-3的数字,提示电脑出拳结果老梁本局对战结束,输出谁赢,是否继续输出结果:玩家赢几局电脑赢几侍槐运局平局明贺几次游戏结束。
⑸ python实验报告游戏“羊了个羊”实践目的怎么写
"羊了个羊"是一个经典的尺中游戏,它的目的耐困伍是让玩家在有限的步数内通过合理的规划,把所有的羊从左边转移到右边,并且没有任何一只羊被狼吃掉。
在本次实验中,我们将使用python编程语言,实现一个简单的“羊了个羊”游戏。通过这个实验,我们将学习到如何使用python语言,实现一个简单的游戏。同时,也可以提高我们的编程能力和逻辑思维能力。
因此,本次实验的目的包括:
学习python语言的基本语法和语言特性。
提高编程能力和逻辑思维能力。
实现一个简单的游戏,从而了解游戏开发的基本流程。
了解“羊了个昌或羊”游戏的经典算法,从而学习算法设计的方法。
通过本次实验,我们有望能够更加熟练地掌握python语言,并且在编程中能够更加高效,准确地完成任务。
⑹ python数据挖掘技术及应用论文怎么写
python数据挖掘技术及应用论文选题如下:
1、基于关键册肆词的文本知识型姿明的挖掘系统的设计与实现。
2、基于MapRece的气候数据的分析。
3、基于概率图模型的蛋白质功能预测。
4、基于第三方库的人脸识别系统的设计与实现。
5、基于hbase搜卜告索引擎的设计与实现。
6、基于Spark-Streaming的黑名单实时过滤系统的设计与实现。
7、客户潜在价值评估系统的设计与实现。
8、基于神经网络的文本分类的设计与实现。
⑺ Python实现消消乐小游戏
pre{overflow-x: auto} 实现 消消乐的构成主要包括三部分:游戏主体、计分器、计时器,下面来看一下具体实现。
先来看一下游戏所需 Python 库。
import os import sys import time import pygame import random
定义一些常量,比如:窗口宽高、网格行列数等,代码如下:
WIDTH = 400 HEIGHT = 400 NUMGRID = 8 GRIDSIZE = 36 XMARGIN = (WIDTH - GRIDSIZE * NUMGRID) // 2 YMARGIN = (HEIGHT - GRIDSIZE * NUMGRID) // 2 ROOTDIR = os.getcwd() FPS = 30
接着创建一个主窗口,代码如下:
pygame.init() screen = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption('消消乐')
看一下效果:
再接着在窗口中画一个 8 x 8 的网格,代码如下:
screen.fill((255, 255, 220)) # 游戏界面的网格绘制 def drawGrids(self): for x in range(NUMGRID): for y in range(NUMGRID): rect = pygame.Rect((XMARGIN+x*GRIDSIZE, YMARGIN+y*GRIDSIZE, GRIDSIZE, GRIDSIZE)) self.drawBlock(rect, color=(255, 165, 0), size=1 # 画矩形 block 框 def drawBlock(self, block, color=(255, 0, 0), size=2): pygame.draw.rect(self.screen, color, block, size)
看一下效果:
再接着在网格中随机放入各种拼图块,代码如下:
while True: self.all_gems = [] self.gems_group = pygame.sprite.Group() for x in range(NUMGRID): self.all_gems.append([]) for y in range(NUMGRID): gem = Puzzle(img_path=random.choice(self.gem_imgs), size=(GRIDSIZE, GRIDSIZE), position=[XMARGIN+x*GRIDSIZE, YMARGIN+y*GRIDSIZE-NUMGRID*GRIDSIZE], downlen=NUMGRID*GRIDSIZE) self.all_gems[x].append(gem) self.gems_group.add(gem) if self.isMatch()[0] == 0: break
看一下效果:
再接着加入计分器和计时器,代码如下:
# 显示得分 def drawScore(self): score_render = self.font.render('分数:'+str(self.score), 1, (85, 65, 0)) rect = score_render.get_rect() rect.left, rect.top = (55, 15) self.screen.blit(score_render, rect) # 显示加分 def drawAddScore(self, add_score): score_render = self.font.render('+'+str(add_score), 1, (255, 100, 100)) rect = score_render.get_rect() rect.left, rect.top = (250, 250) self.screen.blit(score_render, rect) # 显示剩余时间 def showRemainingTime(self): remaining_time_render = self.font.render('倒计时: %ss' % str(self.remaining_time), 1, (85, 65, 0)) rect = remaining_time_render.get_rect() rect.left, rect.top = (WIDTH-190, 15) self.screen.blit(remaining_time_render, rect)
看一下效果:
当设置的游戏时间用尽时,我们可以生成一些提示信息,代码如下:
while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() if event.type == pygame.KEYUP and event.key == pygame.K_r: flag = True if flag: break screen.fill((255, 255, 220)) text0 = '最终得分: %s' % score text1 = '按 R 键重新开始' y = 140 for idx, text in enumerate([text0, text1]): text_render = font.render(text, 1, (85, 65, 0)) rect = text_render.get_rect() if idx == 0: rect.left, rect.top = (100, y) elif idx == 1: rect.left, rect.top = (100, y) y += 60 screen.blit(text_render, rect) pygame.display.update()
看一下效果:
说完了游戏图形化界面相关的部分,我们再看一下游戏的主要处理逻辑。
我们通过鼠标来操纵拼图块,因此程序需要检查有无拼图块被选中,代码实现如下:
def checkSelected(self, position): for x in range(NUMGRID): for y in range(NUMGRID): if self.getGemByPos(x, y).rect.collidepoint(*position): return [x, y] return None
我们需要将鼠标连续选择的拼图块进行位置交换,代码实现如下:
def swapGem(self, gem1_pos, gem2_pos): margin = gem1_pos[0] - gem2_pos[0] + gem1_pos[1] - gem2_pos[1] if abs(margin) != 1: return False gem1 = self.getGemByPos(*gem1_pos) gem2 = self.getGemByPos(*gem2_pos) if gem1_pos[0] - gem2_pos[0] == 1: gem1.direction = 'left' gem2.direction = 'right' elif gem1_pos[0] - gem2_pos[0] == -1: gem2.direction = 'left' gem1.direction = 'right' elif gem1_pos[1] - gem2_pos[1] == 1: gem1.direction = 'up' gem2.direction = 'down' elif gem1_pos[1] - gem2_pos[1] == -1: gem2.direction = 'up' gem1.direction = 'down' gem1.target_x = gem2.rect.left gem1.target_y = gem2.rect.top gem1.fixed = False gem2.target_x = gem1.rect.left gem2.target_y = gem1.rect.top gem2.fixed = False self.all_gems[gem2_pos[0]][gem2_pos[1]] = gem1 self.all_gems[gem1_pos[0]][gem1_pos[1]] = gem2 return True
每一次交换拼图块时,我们需要判断是否有连续一样的三个及以上拼图块,代码实现如下:
def isMatch(self): for x in range(NUMGRID): for y in range(NUMGRID): if x + 2 -2: for each in [res_match[1], res_match[1]+1, res_match[1]+2]: gem = self.getGemByPos(*[each, start]) if start == res_match[2]: self.gems_group.remove(gem) self.all_gems[each][start] = None elif start >= 0: gem.target_y += GRIDSIZE gem.fixed = False gem.direction = 'down' self.all_gems[each][start+1] = gem else: gem = Puzzle(img_path=random.choice(self.gem_imgs), size=(GRIDSIZE, GRIDSIZE), position=[XMARGIN+each*GRIDSIZE, YMARGIN-GRIDSIZE], downlen=GRIDSIZE) self.gems_group.add(gem) self.all_gems[each][start+1] = gem start -= 1 elif res_match[0] == 2: start = res_match[2] while start > -4: if start == res_match[2]: for each in range(0, 3): gem = self.getGemByPos(*[res_match[1], start+each]) self.gems_group.remove(gem) self.all_gems[res_match[1]][start+each] = None elif start >= 0: gem = self.getGemByPos(*[res_match[1], start]) gem.target_y += GRIDSIZE * 3 gem.fixed = False gem.direction = 'down' self.all_gems[res_match[1]][start+3] = gem else: gem = Puzzle(img_path=random.choice(self.gem_imgs), size=(GRIDSIZE, GRIDSIZE), position=[XMARGIN+res_match[1]*GRIDSIZE, YMARGIN+start*GRIDSIZE], downlen=GRIDSIZE*3) self.gems_group.add(gem) self.all_gems[res_match[1]][start+3] = gem start -= 1
之后反复执行这个过程,直至耗尽游戏时间,游戏结束。
最后,我们动态看一下游戏效果。
总结
本文我们使用 Python 实现了一个简单的消消乐游戏,有兴趣的可以对游戏做进一步扩展,比如增加关卡等。
到此这篇关于Python实现消消乐小游戏的文章就介绍到这了,希望大家以后多多支持!
⑻ python编程应用:小游戏hangman
代码分析:
1.import random导入模块
导入random模块,本程序主要是使用random.randint(0,3)方法生成一个0-3之间的随机的随机数。
2、HANGMAN_PICS常量
Python默认把定义的常量大写,HANGMAN_PICS是一个字符列表常量,字母全部大些也提醒一次赋值之后不再改扒绝毕变,这就是常量的意思。
3、列表格式
animals=['frog','rabbit','owl','peacock'] 列表包含4个元素(item),每一个元素用逗号隔开,左边方括号和右边的方括号是列春芹表必须格式必须带的。
4、列表访问
用索引访问元素animals[0],0就是索引号,以此类推还想访问其他元素...animals[1],animals[2],animals[3],如果继续访问animals[4]就会造成索引越界报indexError的错误。
5、“ + ”连接符
“ + ”号 在程序中除了进行运算,还有就是连接字符串和列宏察表,例1:animals='frog',+'rabbit'就会得到animals = 'frograbbit'. 例2:animals = ['frog','rabbit']和river_animals = ['ck','snake']两个列表通过 “+”连接符 就获得['frog', 'rabbit', 'ck', 'snake']一个合成新列表。
6、用索引赋值来修改列表元素
animals[1] = 'swan' 生成一个新列表 animals = [ 'frog' , 'swan' ]
7、in操作符
in操作符告诉我们in左边的值是否包含在右边列表中,如果该值在列表中它将要返回True;如果该值不在列表中,返回值是False。例1:'dragonfly' in [ 'frog' , 'rabbit' ] 返回值是 False 例2 :'ck' in [ 'ck' , 'snake' ] 返回值是True 。例3: ' bee ' in ' sanke bee bird bear lion owl .'
8、调用方法(method)
8.1针对列表的方法 reverse( ) 和 append( )
reverse() 方法会把列表中的元素顺序反转,numbers = [ 1 , 2 , 3 , 4 , 5 ]然后 numbers.reverse( )会反转列表元素 numbers = [ 5 , 4 , 3 , 2 , 1 ]
append()方法在列表的最后添加一个元素,numbers.append( 6 ) 得到 numbers = [ 1 , 2 , 3 ,4 , 5, 6]
8.2 字符串方法 split( )
程序的51行使用此方法,让字符串 words 反馈一个words = [ 'ant', 'baboon', 'badger', 'bat', 'bear'........] 列表