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

浏览: 1944

作者:郑开州

知性而淫荡,神秘又开放 

写在前面

1.前文传送门:基于王者荣耀的Python3入门文档

2.基于Python3,运行环境为jupyter

代码可以复制,请将输入法切换到英文状态再将代码复制粘贴

3.本节主要内容

if条件语句:条件判断的多种类型

字典:构造字典,增删改查,字典遍历,字典嵌套

 

一、 if条件语句


1、 一个最简单的if语句

王者荣耀中的英雄有很多,但是李白是嘴炮最厉害的一个!可以使用if条件语句,判断英雄列表中的每个元素是不是李白。

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

for hero in heroes:    

      if hero=="李白":      #一个等号是赋值,两个等号是判断        

         print("你选的英雄超级厉害的!") #只有李白才是superstar    

     else:        print("你选的英雄一般般厉害!")


注意:缩进一定要工整,循环和条件语句后面都有冒号。

2、 if条件判断的内容分类


if条件判断的内容有不同的类型,上面的例子中,我们要判断英雄是不是李白,这是条件判断中的一种(文本),下面我们来详细的了解一下if后面的条件判断类型。

① 文本内容是否相同

hero = "libai" #小写的李白

if hero=="libai":  #小写的李白    

   print("您选择的英雄是超级大嘴炮:李白!")

if hero=="LIBAI":  #大写的李白    

   print("您选择的英雄是名字大写的超级大嘴炮:李白!")


注意:检验文本内容是否相同的时候,严格区分大小写。并且文本判断的时候用的是两个等号,对比以下


注意:文本内容判断的时候使用一个等号,会出现错误

② 文本内容是否不相同


10个后羿7个傻、8个呆、9个菜,还有一个在王者段位,鱼塘里面遇不到。所以,鱼塘判断英雄不是后羿,就赢了一大半。

hero = "老夫子"
if hero !="后羿":  #不等于
   print("恭喜,这局对战已经赢了一大半!")


③ 比较数字


为了避免小学生沉迷农药,无法自拔,限定年龄小于12岁的玩家每天只能玩1个小时。

age=11
if age <= 12:
   print("尊敬的小玩家,您每日的游戏时间只有1小时!")


④ 多个条件并列

鉴于防沉迷机制,刘翠花和王二狗组队玩一天的需要双方的年龄都大于12岁,这里就涉及到多个条件的并列判断。

liucuihua=18 #翠花永远18岁
wangergou=22
if (liucuihua > 12 and wangergou >12):
   print("恭喜刘翠花和王二狗能够组队玩一天!")


注意:and 与;or 或 

⑤ 列表中是否包含特定值


我们来看一下队伍列表中有没有后羿,没有就赢了一半,有就踢掉。

heroes=["安其拉","李白","杨戬","貂蝉","后羿"]
hero="后羿"
if hero in heroes:
   print("队伍中有后羿,赶紧踢掉他。")
else:
   print("后羿不在队伍中,能赢!")


注意:if和else的搭配,相当于Excel中的if函数

二、 字典

1、 一个简单的英雄字典

字典可以理解为名片,由多种属性及其对应值构成。我们来创建一个李白的字典。

libai={"姓名":"李白","性别":"男"}
print(libai)


注意:字典的标识符是大括号{},大括号内的键值对应关系用冒号表示,键值对之间用逗号分隔

2、 向字典中添加内容


我们创建的李白的字典太苍白无力了,我们往这个字典里面加入李白的名句让他变得丰富。

libai={"姓名":"李白","性别":"男"}
print(libai)
libai["名句"]="努力有用的话还要天才干甚?"
print(libai)


3、 修改字典中的内容


假如某天考古发现李白其实是萌萌哒的女孩子,我们需要对李白的性别属性进行修改。

libai={"姓名":"李白","性别":"男"}
print(libai)
libai["性别"]="女" #修改性别对应的值
print(libai)


4、 删除字典中的内容


李白是男是女我们都爱,我们爱的是嘴炮,不是性别。所以性别这个属性不重要,我们删除它。(总感觉哪里不对劲)

libai={"姓名":"李白","性别":"男"}
print(libai)
del libai["性别"]     #删除一个键值对,只需要指定键就可以了
print(libai)


 

三、 字典的进一步操作


1、遍历字典

现在开一局王者荣耀,我们的五人投小队及其选的英雄也是可以组成一个字典的。玩家是键,英雄是值。

#五人投小分队组成的送分队伍。
songfen={
   "马花藤":"安其拉",
   "天善梁总":"孙悟空",
   "酸菜馆子刘翠花":"貂蝉",
   "村口铁匠王二狗":"吕布",
   "小菜鸡郑开州":"后羿"}
print(songfen)


① 遍历字典中的所有键(玩家名称)

#五人投小分队组成的送分队伍。玩家是键,英雄是值
songfen={
   "马花藤":"安其拉",
   "天善梁总":"孙悟空",
   "酸菜馆子刘翠花":"貂蝉",
   "村口铁匠王二狗":"吕布",
   "小菜鸡郑开州":"后羿"}
for key in songfen.keys():  #取出字典中的玩家名称
   print(key)


注意:字典中的键通常使用特殊字符key来表示,并且取键的方法为字典名称.keys()

② 遍历字典中的所有值(英雄名称)

#五人投小分队组成的送分队伍。玩家是键,英雄是值
songfen={
   "马花藤":"安其拉",
   "天善梁总":"孙悟空",
   "酸菜馆子刘翠花":"貂蝉",
   "村口铁匠王二狗":"吕布",
   "小菜鸡郑开州":"后羿"}
for value in songfen.values():  #取出字典中的英雄名称
   print(value)


注意:字典中的值通常使用特殊字符value来表示,并且取值的方法为字典名称.values()

③ 遍历字典中的所有键值对

#五人投小分队组成的送分队伍。玩家是键,英雄是值
songfen={
   "马花藤":"安其拉",
   "天善梁总":"孙悟空",
   "酸菜馆子刘翠花":"貂蝉",
   "村口铁匠王二狗":"吕布",
   "小菜鸡郑开州":"后羿"}
for key,value in songfen.items():  #取出字典中的玩家名称
   print(key,value)


注意:字典中的键值对需要使用两个参数来获取,并且使用逗号分隔,获取键值对的方

法为字典名称.items()。打印的时候可以只打印一个参数。


2、字典嵌套

① 一个键对应多个值

我们刚才的五人小队,还有另外一个更加常规的方法。可以做成以下excel表格中的格式。这个时候我们的第一个键(玩家名称)对应的值就有5个,第二个键(所选英雄)对应的值也有5个。

一个键对应多个值,我们可以做一个嵌套列表的字典:

#五人投小分队组成的送分队伍
songfen={
   "玩家名称":["马花藤","天善梁总","酸菜馆子刘翠花","村口铁匠王二狗","小菜鸡郑开州"],
   "所选英雄":["安其拉","孙悟空","貂蝉","吕布","后羿"]
   }
songfen


注意: 嵌套列表的字段最后还是一个字典,最外层是大括号。将来使用pandas包经常会使用这种格式。

② 把几个字典放在一个列表里面


先前我们做了一个李白的名片,接下来我们再来多做几个,并存在一个列表里面。

libai={"姓名":"李白","性别":"男"}
diaochan={"姓名":"貂蝉","性别":"女"}
direnjie={"姓名":"狄仁杰","性别":"男"}
heroes=[libai,diaochan,direnjie]
print(heroes)


③ 嵌套字典的字典

这部分内容放在后面讲pandas的时候再讲,入门有点太难了。

四、 总结


if条件语句的if-else结构,if后接的条件判断的几种类型这两部分很重要;

字典的增删改查、遍历、嵌套的三部分内容很重要。

大家发现错误的地方,或者大家有建议和批评请联系开州:

kaizhou_0320@163.com

最后,感谢阅读!



Python爱好者社区历史文章大合集

Python爱好者社区历史文章列表(每周append更新一次)

福利:文末扫码立刻关注公众号,“Python爱好者社区”,开始学习Python课程:

关注后在公众号内回复课程即可获取:

小编的Python入门视频课程!!!

崔老师爬虫实战案例免费学习视频。

丘老师数据科学入门指导免费学习视频。

陈老师数据分析报告制作免费学习视频。

玩转大数据分析!Spark2.X+Python 精华实战课程免费学习视频。

丘老师Python网络爬虫实战免费学习视频。


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

0 个评论

要回复文章请先登录注册