基于王者荣耀的Python3入门文档

浏览: 1734

作者:郑开州

知性而淫荡,神秘又开放 

写在前面

 

1、从R社区转到Python一小段时间,这个文档本来是用于公司内部培训的,因为我们公司的小伙伴都喜欢王者荣耀,所以就选了一个贴近生活的内容制作学习文档。

2、 因为刚转Python,并没有找到Python中类似R中的Rmarkdown编辑方式,所以返回结果以图片的形式展示。

3、 文档基于Python3,运行环境为jupyter。每个例子都有源码,可以复制粘贴。如果引号粘贴到Python环境中变成了中文状态,请切换输入法到英文状态,再复制粘贴。

 

一、 基础操作

1、 入门语句

print(“欢迎来到召唤师峡谷!”)

image.png

2、 使用变量

msg="欢迎来到召唤师峡谷!"
print(msg)

image.png

注意:变量名称只能包含以下三种:数字、字母、下划线。数字不能位于变量的首位。

3、 字符串大小写变换(仅针对英文)

name="wangzherongyao"
print(name.title())  #首字母大写
print(name.upper())  #全部字母大写
print(name.lower())  #全部字母小写

image.png

注意:变量.方法()是常用的格式,相当于是R语言中的函数(变量)

4、 合并(拼接)字符串

first_name="郑"
last_name="开州"
full_name=first_name+" "+last_name
print(full_name)
print("尊敬的召唤师:"+full_name+",欢迎来到召唤师峡谷!")

image.png

注意:变量内容拼接可以直接使用+号,相当于是Excel中的&符号

5、 制表符和换行符的使用

print("欢迎来到召唤师峡谷!")
print("\t欢迎来到召唤师峡谷!")  #文本向后缩进一个单位
print("\n欢迎来到召唤师峡谷!")  #文本换行

image.png

注意:制表符和换行符是在文本引号之内


6、 删除字符串两端的空白

msg="努力有用的话还要天才干甚?"  #文本前后有空格
print(msg)
msg=msg.strip()    #移除了变量msg两端的空格
print(msg)

image.png


7、 数字变量的正确文本显示

num=2
msg=("尊敬的召唤师,您在这句对战中的综合评分位于第"+str(num)+"位!")
print(msg)

image.png

注意:num里面存储的是数字,在打印的时候不能直接引用数字,需要将其转化为文本,使用“+”进行拼接的时候,拼接的各个内容的类型要相同

二、 列表元素基础


现在进入游戏,我们来观察一下自己的队友。通常使用列表这种格式来存储平行的元素。

1、 最基本的列表

heroes=["安其拉","李白","杨戬","貂蝉","孙悟空"]
print(heroes)

image.png

注意:列表使用的标识符是[ ],相当于是R语言中的向量c(“李白”,”杨戬”,”孙悟空”)

2、 访问列表中的元素

heroes=["安其拉","李白","杨戬","貂蝉","孙悟空"]
print(heroes)
print(heroes[0])
print(heroes[1])

image.png

注意:通过变量后面的[]来制定元素的位置。python列表元素的起始值是0,变量[0]相当于是R语言中的变量[1]

3、 修改列表元素


你的队友马花腾开局选了个安其拉,但是根据以往的经验,他的安其拉太菜了。队友建议换成狄仁杰。

heroes=["安其拉","李白","杨戬","貂蝉","孙悟空"]
print(heroes)
heroes[0]="狄仁杰"
print(heroes)

image.png

注意:python列表元素的起始值是0

4、 在列表末尾新增加元素


正准备开黑的时候,你有一个队友他男朋友给他打电话了,4个人已经选好英雄了,他姗姗来迟选了兰陵王。

heroes=["安其拉","李白","杨戬","貂蝉"]
print(heroes)
heroes.append("兰陵王")
print(heroes)

image.png

注意:append方法只能在列表的最后添加一个元素

5、 在列表中指定位置插入元素

姗姗来迟的是你们五人投小队的队长,队长必须位于第一位。

heroes=["安其拉","李白","杨戬","貂蝉"]
heroes.insert(0,"兰陵王")
print(heroes)

image.png

注意:insert方法有两个参数,inerst(a,b),a代表的是插入的位置,b代表插入的内容

6、 从列表中删除元素


① 概念删除


在另一个平行世界,你的队友马花腾不顾众人反对,一意孤行选择了玩的贼菜的安其拉。你们决定把安其拉踢出队伍,并且4打5取得了胜利!

heroes=["安其拉","李白","杨戬","貂蝉","孙悟空"]
print(heroes)
del heroes[0]
print(heroes)

image.png

注意:del 和之前的inert和appand方法都不一样,不是变量.方法()格式,切记

② 可调用删除


新开一局,你的队友马花腾依旧执迷不悟选择了安其拉,出乎意料,这局他表现不错。但是天善社区梁总选的孙悟空掉线了。依旧是4打5,取得了胜利!!

heroes=["安其拉","李白","杨戬","貂蝉","孙悟空"]
print(heroes)
tail=heroes.pop()
print(heroes)
print(tail)

image.png

注意:pop方法从列表的最后一个元素删除,并且可以将删除的值可以存储在一个变量中,以便后期调

③ 定值删除

梁总掉线之后,意犹未尽,再开一局。路人加入比赛,路人选了后羿:一抹利箭先到,随后弓折人亡。惨不忍睹,你们决定把后羿踢出队伍。

heroes=["安其拉","李白","杨戬","后羿","貂蝉"]
print(heroes)
heroes.remove("后羿")
print(heroes)

image.png

注意:remove方法是删除特定值元素,并不需要知道元素的位置

7、 列表排序


① 概念排序


马花腾的安其拉玩的太菜,不能够胜任队长的位置。于是大家决定按照笔画重新排战位。

heroes=["安其拉","李白","杨戬","貂蝉","孙悟空"]
heroes.sort()
print(heroes)

image.png

注意:sort方法进行的排序是不可逆的,不能回到原来的顺序

② 反向排序


酸菜鱼馆子的刘翠花表示不服:我貂蝉强无敌,要排在第一位,应该用反向排序

heroes=["安其拉","李白","杨戬","貂蝉","孙悟空"]
heroes.sort(reverse=True)
print(heroes)

image.png

注意:只需要在sort方法中加入reverse=True就可以进行反向排序

③ 临时排序


队友争吵不休,最后互相妥协。马花腾的安其拉依旧是队长,临时选定代理队长

heroes=["安其拉","李白","杨戬","貂蝉","孙悟空"]
print(heroes)
print(sorted(heroes))
print(heroes)

image.png

注意:临时排序sorted是一个函数,不是变量.方法()格式,切记

8、 反向排列列表元素


这一个不知道怎么编了。凑合一下吧 -。-

heroes=["安其拉","李白","杨戬","貂蝉","孙悟空"]
print(heroes)
heroes.reverse()
print(heroes)

image.png

注意:反向排列≠反向排序,仅仅只是列车的掉头行为,头作尾,尾作头

9、 计算列表中元素的计数项

heroes=["安其拉","李白","杨戬","貂蝉","孙悟空"]
len(heroes)

image.png

 

三、 列表的进一步操作


1、 遍历整个列表

heroes=["安其拉","李白","杨戬","貂蝉","孙悟空"]
for a in heroes:
   print("您的队伍中有此英雄:"+a)

image.png

注意:这里需要注意缩进,另外for循环需要一个冒号


2、 在循环中加入一些废话

heroes=["安其拉","李白","杨戬","貂蝉","孙悟空"]
for a in heroes:
   print(a+"是一个十分优秀的英雄!"+"\n")

image.png

注意:列表不可以直接和其他字符串打印,但是遍历之后是可以和其他字符串打印的

3、 数字列表

① 使用range函数

for a in range(1,5):
   print(a)

image.png

注意:我们看到的打印结果只有4行,因为range(a,b,c)函数的三个参数分别为:a(起始值),b(终止值),c(步长),生成的数字会忽略掉参数b

② 创建一个最简单的数字列表

num=list(range(1,6))
print(num)

image.png

注意:通过list()函数,将range(1,6)生成的数字组成了一个列表

③ 从外部添加数字到数字列表(计算平方值)

pingfangji=[]
for shuzi in range(1,11):
   pingfang=shuzi**2
   pingfangji.append(pingfang)
print(pingfangji)

image.png

注意:缩进的位置不一样的话,返回的结果完全不一致。对比以下

image.png


四、 总结


后面还有一部分文档,考虑到阅读的友善度,暂时就先放这么些。后面还会有更新。希望能对大家的学习有所帮助。

 

大家有意见和批评也可以联系开州,邮箱地址:kaizhou_0320@163.com。

 

感谢阅读!

推荐 4
本文由 Python爱好者社区 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册